Sobes.tech
Junior — Middle

Hogyan biztosítható az erőforrások automatik felszabadítása egy programban?

sobes.tech MI

Válasz az MI-től

Java-ban az erőforrások automatikus felszabadítása általában a try-with-resources szerkezet segítségével történik, amelyet a Java 7-ben vezettek be. Ez lehetővé teszi az AutoCloseable interfészt megvalósító erőforrások (például bemeneti/kimeneti áramlások, adatbázis-kapcsolatok stb.) automatikus bezárását a try blokk végén, még akkor is, ha kivétel keletkezik a blokkban.

Példa:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// a reader itt automatikusan bezáródik

Korábban az erőforrások felszabadítására a finally blokkot használták, ahol explicit módon hívták a close() metódust. De a try-with-resources tisztábbá és biztonságosabbá teszi a kódot.