Встречается на собеседованиях • сегодня
Для чего нужен finalize
Метод finalize() вызывается сборщиком мусора (GC) перед удалением объекта, если он переопределен. Позволяет выполнить очистку ресурсов (например, закрытие файлов или соединений), если они не были освобождены вручную.
Проблемы:
- Не гарантируется вызов (GC может не сработать).
- Медленный (замедляет сборку мусора).
- Может вызвать утечки, если объект "воскрешается" (например, сохраняется в статическое поле).
Пример:
java
@Override
protected void finalize() throws Throwable {
try {
if (file != null) file.close();
} finally {
super.finalize();
}
}Лучшая альтернатива: Использовать try-with-resources или явный вызов close() в finally.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы