Что такое GC Roots?

GC Roots — это специальные объекты или ссылки в памяти, с которых начинается обход графа объектов для определения достижимости в сборщике мусора (Garbage Collector) в Java.

Короткий ответ

Что ответить на собеседовании

GC Roots — это специальные объекты или ссылки в памяти, с которых начинается обход графа объектов для определения достижимости в сборщике мусора (Garbage Collector) в Java.

Подробный разбор

Ответ с пояснениями

GC Roots — это специальные объекты или ссылки в памяти, с которых начинается обход графа объектов для определения достижимости в сборщике мусора (Garbage Collector) в Java.

Объекты, достижимые от GC Roots, считаются живыми и не подлежат удалению. Если объект не достижим от GC Roots, он считается мусором и может быть очищен.

Примеры GC Roots:

  • Ссылки из стека текущих потоков (локальные переменные и параметры методов).
  • Ссылки из статических полей классов.
  • Ссылки из активных JNI (Java Native Interface) объектов.
  • Ссылки из системных классов и некоторых внутренних структур JVM.

Таким образом, GC Roots — это корни, с которых начинается поиск живых объектов в куче, обеспечивая корректную работу сборщика мусора.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее