Назад к вопросам
Junior — Middle
59
Какова роль и назначение ключевого слова finalize в управлении ресурсами объектов?
Ответ от нейросети
sobes.tech AI
В Java ключевое слово finalize относится к методу finalize(), который вызывается сборщиком мусора перед удалением объекта из памяти. Его роль — дать объекту возможность освободить или очистить ресурсы (например, закрыть файлы, освободить сетевые соединения), которые не управляются автоматически.
Однако использование finalize() не рекомендуется, так как:
- Вызов
finalize()не гарантирован и может быть отложен. - Это снижает производительность.
- Лучше использовать конструкции try-with-resources или явно закрывать ресурсы.
Пример метода finalize():
@Override
protected void finalize() throws Throwable {
try {
// Очистка ресурсов
} finally {
super.finalize();
}
}
Современный подход — реализовывать интерфейс AutoCloseable и управлять ресурсами явно.