Разница между system.gc () и runtime.gc () - PullRequest
45 голосов
/ 01 июня 2011

В чем разница между System.gc() и Runtime.gc()?

Ответы [ 6 ]

56 голосов
/ 01 июня 2011

Оба одинаковы.System.gc() фактически эквивалентно Runtime.gc().System.gc() внутренне звонит Runtime.gc().

Единственное отличие состоит в том, что System.gc() - это метод класса, где Runtime.gc() - это метод экземпляра.Итак, System.gc() удобнее.

15 голосов
/ 01 июня 2011

Исходя из исходного кода: System.gc() реализован как

Runtime.getRuntime().gc();

Так что это просто удобный метод.

8 голосов
/ 01 июня 2011

См. Документы

System.gc() эквивалентно Runtime.getRuntime().gc()

2 голосов
/ 23 июня 2017

System.gc ():

1: Это метод класса (статический метод).

2: Неродной метод. (Код, который нене взаимодействует напрямую с аппаратными и системными ресурсами).

3: System.gc (), внутренне вызывает Runtime.getRuntime (). gc ().

Runtime.gc ():

1: метод экземпляра.

2: собственный метод (язык программирования, который напрямую взаимодействует с аппаратными и системными ресурсами.).

2 голосов
/ 08 марта 2012

Runtime.gc() - это собственный метод, где System.gc() - это не нативный метод, который, в свою очередь, вызывает Runtime.gc()

0 голосов
/ 30 мая 2012

В системе времени выполнения gc является методом экземпляра, но в системном методе gc является статическим.

, поэтому мы предпочитаем использовать system.gc ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...