Назад к вопросам
СБЕР
Senior
6
Что является корневыми точками (GC Roots) для сборщика мусора?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Корневыми точками (GC Roots) для сборщика мусора в Java являются объекты, с которых начинается обход графа объектов для определения достижимых объектов. Объекты, до которых можно добраться от GC Roots, считаются живыми и не подлежат сборке.
Основные виды GC Roots:
- Статические переменные (static fields) — ссылки из статических полей классов.
- Активные потоки (Threads) — объекты, связанные с текущими потоками исполнения.
- Локальные переменные и параметры методов — ссылки, находящиеся в стеке вызовов текущих потоков.
- Объекты, зарегистрированные через JNI (Java Native Interface) — ссылки, удерживаемые нативным кодом.
Сборщик мусора начинает обход с этих корневых точек, помечая все достижимые объекты. Объекты, до которых нет пути от GC Roots, считаются недостижимыми и подлежат удалению.