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

Как ненужные объекты удаляются в программе

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

Основные принципы:

  1. Объект удаляется, когда становится недостижимым (нет ссылок или только циклические ссылки)
  2. Финализация (метод finalize()) не гарантирует моментального вызова
  3. GC работает в своем потоке и вызывает stop-the-world паузы

Пример:

java
void createGarbage() {
    for(int i = 0; i < 1000; i++) {
        String temp = new String("Object " + i); // Создаем мусор
    }
    // После выхода из метода temp становится недостижимым
}

Для управления памятью лучше использовать:

  • Локальные переменные в минимальных scope
  • Пулы объектов для часто создаваемых/удаляемых объектов
  • WeakReference/SoftReference для кэшей
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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