Что произошло внутренне (JVM), когда System.gc () или завершают () названный метод?

Если чья-либо проблема не была решена с помощью приведенных выше предложений, попробуйте добавить <!DOCTYPE html> в первую строку вашей страницы. Это был простой шаг, который решил проблему для меня.

5
задан Norbert Hartl 21 May 2009 в 12:33
поделиться

3 ответа

То, что происходит при вызове System.gc () , зависит от JVM. JVM рассматривает этот вызов как предложение о том, что сейчас самое время запустить сборщик мусора, поэтому не полагайтесь на него.

finalize () объекта Метод запускается для объекта сборщиком мусора, когда JVM определяет, что на этот объект больше нет доступных ссылок. Вы не должны вызывать это в своем коде. Имейте в виду, что finalize () не вызывается в то время, когда ваша программа теряет эту последнюю ссылку, а в будущем, когда будет запущен сборщик мусора, поэтому не полагайтесь на то, что это произойдет в определенное время. момент времени (или вообще).

8
ответ дан 13 December 2019 в 05:41
поделиться

Если вы хотите узнать о внутреннем устройстве сборки мусора, вы должны прочитать Техническую документацию по управлению памятью Hotspot от Sun.

3
ответ дан 13 December 2019 в 05:41
поделиться

При вызове System.gc () запускается сборщик мусора, как следует из названия. На этом этапе, когда объекты действительно удаляются, для этих объектов вызывается finalize () , прежде чем они исчезнут.

Последний вопрос не должен содержать " или " " в этом. Это сборка мусора и снижение производительности.

Обычно вам вообще не нужно заботиться о gc , потому что он действительно хорошо работает за вас. Существуют сценарии использования, в которых вы хотите избавиться от большого количества объектов в определенный момент времени; Тогда это возможно.

1
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: