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

Для чего нужно ключевое слово finalize

Метод finalize() вызывается сборщиком мусора перед удалением объекта, если он переопределен. Позволяет выполнить очистку ресурсов (например, закрытие файлов или соединений), но не рекомендуется к использованию из-за непредсказуемости вызова и влияния на производительность.

Пример:

java
public class Resource {
    @Override
    protected void finalize() throws Throwable {
        try {
            // cleanup code
        } finally {
            super.finalize();
        }
    }
}

Проблемы:

  • Нет гарантии вызова (GC может не сработать)
  • Замедляет сборку мусора
  • Может быть вызван только 1 раз

Лучше использовать try-with-resources или явное освобождение ресурсов.

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

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

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

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