Sobes.tech
Junior — Middle

Ako zabezpečiť automatické uvoľnenie zdrojov v programe?

sobes.tech AI

Odpoveď od AI

V Jave je automatické uvoľňovanie zdrojov zvyčajne zabezpečené pomocou konštrukcie try-with-resources, ktorá bola zavedená v Jave 7. Umožňuje automaticky zatvoriť zdroje, ktoré implementujú rozhranie AutoCloseable (napríklad vstupné/výstupné prúdy, pripojenia k databáze atď.) po ukončení bloku try, aj keď v bloku dôjde k výnimke.

Príklad:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader sa tu automaticky zatvorí

Doteraz sa na uvoľnenie zdrojov používal blok finally, v ktorom sa explicitne volala metóda close(). No try-with-resources robí kód čistejším a bezpečnejším.