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

Как Garbadge Collector решает какой объект удалить

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

  1. Корневые точки (GC Roots) – это начальные точки для определения достижимости (например, статические поля, локальные переменные в стеке, активные потоки).
  1. Алгоритм mark-and-sweep:
    • Mark: GC обходит граф объектов, начиная с корней, помечая все достижимые объекты.
    • Sweep: Удаляет все непомеченные (недостижимые) объекты.

Пример:

java
Object obj1 = new Object(); // Доступен через корень (переменная в стеке)
Object obj2 = new Object(); 
obj1 = null; // obj1 становится недостижимым
// После GC obj1 будет удалён, obj2 останется
  1. Generational GC (в HotSpot JVM) делит объекты на поколения (Young, Old) для оптимизации, т.к. большинство объектов живут недолго.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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