Встречается на собеседованиях • сегодня
Как сборщик мусора понимает что объект нужно удалить
В Java сборщик мусора (GC) удаляет объекты, которые больше не достижимы из корневых точек (GC roots). Основные корневые точки:
- Локальные переменные в стеке
- Активные потоки
- Статические поля
- Ссылки в JNI
Объект считается мусором, если нет цепочки ссылок от корней до этого объекта. Алгоритмы GC (например, mark-and-sweep) помечают все достижимые объекты, а немаркированные удаляют.
Пример:
java
void method() {
Object a = new Object(); // Создаем объект (достижим)
Object b = new Object(); // Другой объект
a = null; // Первый объект теперь мусор
// b все еще достижим
}
// После выхода из метода b тоже станет мусором
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы