В чем разница между System.gc()
и Runtime.gc()
?
Разница между system.gc() и runtime.gc()
Ответ 1
Оба одинаковы. System.gc()
эффективно эквивалентно Runtime.gc()
. System.gc()
внутренне вызывает Runtime.gc()
.
Единственное отличие: System.gc()
- метод класса, где Runtime.gc()
- это метод экземпляра. Таким образом, System.gc()
более удобно.
Ответ 2
От взгляда на исходный код: System.gc()
реализован как
Runtime.getRuntime().gc();
Так что это просто удобный метод.
Ответ 3
System.gc()
эквивалентно Runtime.getRuntime().gc()
Ответ 4
Runtime.gc()
является нативным методом, где System.gc()
- это не-нативный метод, который, в свою очередь, вызывает Runtime.gc()
Ответ 5
В системе исполнения gc является методом экземпляра, но в системном методе gc статичен.
по этой причине мы предпочитаем использовать system.gc().
Ответ 6
System.gc():
1: Это метод класса (статический метод).
2: Неродственный метод. (Код, который напрямую не взаимодействует с аппаратными и системными ресурсами).
3: System.gc(), внутренне вызывает Runtime.getRuntime(). gc().
Runtime.gc():
1: метод экземпляра.
2: Нативный метод (язык программирования, который напрямую взаимодействует с аппаратными и системными ресурсами.).