Junior — Middle
Kaip užtikrinti automatinį išteklių išlaisvinimą programoje?
sobes.tech AI
Atsakymas iš AI
Java kalboje automatinis išteklių atlaisvinimas dažniausiai užtikrinamas naudojant try-with-resources konstrukciją, kuri buvo įdiegta Java 7. Ji leidžia automatiškai uždaryti AutoCloseable sąsają įgyvendinančius išteklius (pavyzdžiui, įvesties/išvesties srautus, duomenų bazės jungtis ir kt.) po try bloko pabaigos, net jei blokas įvykdo išimtį.
Pavyzdys:
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line = reader.readLine();
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
// reader čia automatiškai uždaromas
Anksčiau išteklių atlaisvinimui naudotas finally blokas, kuriame aiškiai kviečiama close() metodas. Tačiau try-with-resources daro kodą švaresnį ir saugesnį.