Sobes.tech
Junior — Middle

Как да се осигури автоматично освобождаване на ресурси в програма?

sobes.tech AI

Отговор от AI

В Java автоматичното освобождаване на ресурси обикновено се осигурява чрез конструкцията try-with-resources, която беше въведена в Java 7. Тя позволява автоматично затваряне на ресурсите, които реализират интерфейса AutoCloseable (например входно/изходни потоци, връзки с бази данни и т.н.) след приключване на блока try, дори ако в блока възникне изключение.

Пример:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader автоматично се затваря тук

Преди това за освобождаване на ресурси се използваше блокът finally, където се извикваше явно методът close(). Но try-with-resources прави кода по-чист и по-безопасен.