Встречается на собеседованиях • сегодня

Как сборщик мусора (Garbage Collector) определяет, какие объекты удалять

Сборщик мусора в Java использует алгоритм "достижимости" для определения мусора. Объект считается достижимым, если на него есть ссылка из корневых точек (GC Roots), таких как:

  • Локальные переменные в стеке
  • Статические поля
  • Активные потоки
  • JNI-ссылки

Все недостижимые объекты помечаются как мусор. Основные алгоритмы GC:

  1. Mark-Sweep - помечает достижимые объекты, затем удаляет непомеченные
  2. Generational - делит объекты на молодые (Eden, Survivor) и старые (Old Gen)

Пример:

java
Object obj = new Object(); // Создаем объект
obj = null; // Объект становится недостижимым
// На следующем цикле GC удалит этот объект
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы