Встречается на собеседованиях • сегодня
Как Garbage Collector работает с циклической зависимостью
Garbage Collector (GC) в Java использует алгоритм mark-and-sweep для обнаружения и удаления объектов с циклическими зависимостями.
- Mark Phase: GC начинает с корневых объектов (например, статических полей, активных потоков, локальных переменных в стеке) и помечает все достижимые объекты.
- Sweep Phase: Недостижимые объекты (включая циклические зависимости, если на них нет внешних ссылок) удаляются.
Пример циклической зависимости:
java
class Node {
Node next;
}
Node a = new Node();
Node b = new Node();
a.next = b;
b.next = a; // Циклическая ссылка
a = null;
b = null; // Теперь GC удалит оба объекта, так как они недостижимыВажно: Современные GC (G1, ZGC, Shenandoah) оптимизированы для работы с циклами и не требуют дополнительной настройки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы