Closeable и AutoCloseableИнтерфейсы
Closeable и AutoCloseable предназначены для управления ресурсами, которые нужно явно закрывать после использования, например, потоки ввода-вывода, соединения с базами данных и т. д. Однако у них есть некоторые различия.1️⃣
AutoCloseable появился в Java 7 в связи с введением try-with-resources, это базовый интерфейс для всех ресурсов, которые могут быть автоматически закрыты.В
AutoCloseable определен метод:
void close() throws Exception;
То есть, метод
close() может выбрасывать любое исключение (Exception).2️⃣
Closeable наследует AutoCloseable, более специфичен и предназначен в основном для потоков ввода-вывода (I/O). В
Closeable метод close() может выбрасывать только IOException.#java #Closeable #AutoCloseable
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤1
finalize() устарел! Как правильно освобождать ресурсы?Метод
finalize() объявлен устаревшим в Java 9 и удалён в Java 18, так как он ненадёжный и медленный.try-with-resources для Closeable объектов:try (FileInputStream fis = new FileInputStream("file.txt")) {
// Работа с файлом
}AutoCloseable:class MyResource implements AutoCloseable {
@Override
public void close() {
System.out.println("Ресурс закрыт");
}
}AutoCloseable.#java #finalize #autocloseable
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1