Встречается на собеседованиях • сегодня
Зачем нужен метод finalize() из класса Object
Метод finalize() вызывается сборщиком мусора перед удалением объекта, если он переопределён. Позволяет выполнить cleanup-действия (например, освобождение ресурсов). Однако не рекомендуется полагаться на него, так как:
- Нет гарантии вызова – сборщик мусора может не вызвать
finalize(). - Производительность – замедляет работу GC из-за дополнительной обработки.
- Неопределённое время вызова – объект может висеть в памяти долго.
Лучше использовать try-with-resources или явный вызов close().
java
@Override
protected void finalize() throws Throwable {
try {
// cleanup (например, закрытие файла)
} finally {
super.finalize(); // важно вызывать!
}
}Альтернатива: Реализуйте AutoCloseable и управляйте ресурсами явно.

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