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

Как Garbage Collector определяет объект для удаления

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

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

Пример:

java
Object obj = new Object(); // Создан объект, есть сильная ссылка
obj = null; // Объект становится недостижимым

GC использует разные алгоритмы (Mark-Sweep, Generational, G1 и др.), но общий принцип:

  1. Mark: Помечает все достижимые объекты, обходя граф ссылок
  2. Sweep: Удаляет неотмеченные объекты

Особые случаи:

  • Weak/Soft/PhantomReference могут быть собраны даже при наличии ссылок
  • Циклические ссылки между недостижимыми объектами тоже удаляются
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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