Sobes.tech
Junior — Middle

Como garantir a libertação automática de recursos num programa?

sobes.tech IA

Resposta da IA

Em Java, a libertação automática de recursos é geralmente garantida pela construção try-with-resources, que foi introduzida no Java 7. Ela permite fechar automaticamente os recursos que implementam a interface AutoCloseable (por exemplo, fluxos de entrada/saída, conexões de banco de dados, etc.) após a conclusão do bloco try, mesmo que uma exceção ocorra dentro do bloco.

Exemplo:

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

Anteriormente, para liberar recursos, usava-se o bloco finally, onde se chamava explicitamente o método close(). Mas o try-with-resources torna o código mais limpo e seguro.