Память JVM включает heap объектов, стеки потоков, метаданные классов, code cache и другие native-области. GC в основном управляет объектами heap; весь RSS процесса им не исчерпывается.
Расскажи о памяти JVM: из чего она состоит и как очищается.
Память JVM включает heap объектов, стеки потоков, метаданные классов, code cache и другие native-области. GC в основном управляет объектами heap; весь RSS процесса им не исчерпывается.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Память JVM включает heap объектов, стеки потоков, метаданные классов, code cache и другие native-области. GC в основном управляет объектами heap; весь RSS процесса им не исчерпывается.
Недостижимые объекты могут быть освобождены сборщиком, кадры стека исчезают при возврате из методов. Освобождение метаданных связано с выгрузкой классов и class loaders. Direct buffers и native-ресурсы имеют отдельные механизмы жизненного цикла. Поэтому стабильный heap не означает стабильное общее потребление памяти процесса.