JVM trainee

Как GC решает, что объект можно удалить?

Ответ

По достижимости от GC Roots. GC Roots — статические поля, локальные переменные стека, активные потоки, JNI-ссылки. Если до объекта нельзя добраться по ссылкам от GC Roots — он мусор и будет собран.

Разбор: JVM использует анализ достижимости (reachability) от набора GC Roots — статических полей, локальных переменных и операндов активных стеков, работающих потоков и JNI-ссылок; недостижимые объекты считаются мусором. Ловушка: HotSpot не использует reference counting (он не справляется с циклическими ссылками) и не основан на времени последнего доступа; локальные переменные стека являются полноценными корнями.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться