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

Как сборщик мусора понимает что объект нужно удалить

В Java сборщик мусора (GC) удаляет объекты, которые больше не достижимы из корневых точек (GC roots). Основные корневые точки:

  1. Локальные переменные в стеке
  2. Активные потоки
  3. Статические поля
  4. Ссылки в JNI

Объект считается мусором, если нет цепочки ссылок от корней до этого объекта. Алгоритмы GC (например, mark-and-sweep) помечают все достижимые объекты, а немаркированные удаляют.

Пример:

java
void method() {
    Object a = new Object(); // Создаем объект (достижим)
    Object b = new Object(); // Другой объект
    a = null; // Первый объект теперь мусор
    // b все еще достижим
}
// После выхода из метода b тоже станет мусором
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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