Встречается на собеседованиях • сегодня
Как сборщик мусора понимает какие объекты нужно удалить
В Java сборщик мусора (GC) использует алгоритм "достижимости" для определения удаляемых объектов. Объект считается достижимым, если на него есть ссылка из корневых точек (root set), таких как:
- Локальные переменные в стеке
- Статические поля
- Активные потоки
- JNI-ссылки
Все недостижимые объекты помечаются как мусор. Основные алгоритмы GC:
- Mark-and-Sweep - сначала помечает достижимые объекты, затем удаляет непомеченные
- Generational - делит объекты по поколениям (Young/Old) для оптимизации
Пример:
java
Object obj1 = new Object(); // Создаем объект (достижим)
Object obj2 = obj1; // Добавляем ссылку
obj1 = null; // Удаляем одну ссылку
// Объект всё ещё достижим через obj2
obj2 = null; // Теперь объект недостижим - будет удалён GC
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы