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 прави кода по-чист и по-безопасен.