Sobes.tech
Junior — Middle

Come garantire il rilascio automatico delle risorse in un programma?

sobes.tech AI

Risposta dell'AI

In Java, la liberazione automatica delle risorse è generalmente garantita dalla costruzione try-with-resources, introdotta in Java 7. Questa permette di chiudere automaticamente le risorse che implementano l'interfaccia AutoCloseable (ad esempio, flussi di input/output, connessioni al database, ecc.) dopo la fine del blocco try, anche se si verifica un'eccezione all'interno del blocco.

Esempio:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader viene chiuso automaticamente qui

In passato, per liberare le risorse si usava il blocco finally, dove si chiamava esplicitamente il metodo close(). Ma try-with-resources rende il codice più pulito e sicuro.