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

Что такое finalize() в Java

Метод finalize() — это защищённый метод класса Object, вызываемый сборщиком мусора (GC) перед удалением объекта, если на него больше нет ссылок.

Особенности:

  • Не гарантируется, когда или будет ли вызван finalize().
  • Переопределяется для освобождения ресурсов (например, закрытие файлов), но лучше использовать try-with-resources или явное освобождение.
  • Может замедлить работу GC, если переопределён некорректно.

Пример:

java
@Override
protected void finalize() throws Throwable {
    try {
        // Освобождение ресурсов
        System.out.println("Finalize called");
    } finally {
        super.finalize();
    }
}

Рекомендация: Вместо finalize() используйте AutoCloseable и try-with-resources.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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