Sobes.tech
Junior — Middle

Hoe kun je automatische vrijgave van bronnen in een programma garanderen?

sobes.tech AI

Antwoord van AI

In Java wordt het automatisch vrijmaken van bronnen meestal geregeld door de try-with-resources constructie, die in Java 7 is geïntroduceerd. Hiermee worden bronnen die de interface AutoCloseable implementeren (bijvoorbeeld invoer-/uitvoerstreams, databaseverbindingen, enz.) automatisch gesloten na afloop van het try-blok, zelfs als er binnen het blok een uitzondering optreedt.

Voorbeeld:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader wordt hier automatisch gesloten

Vroeger werd voor het vrijmaken van bronnen de finally-blok gebruikt, waarin expliciet de close()-methode werd aangeroepen. Maar try-with-resources maakt de code schoner en veiliger.