Junior — Middle
Kā nodrošināt automātisku resursu atbrīvošanu programmā?
sobes.tech AI
Atbilde no AI
Java valodā automātiska resursu atbrīvošana parasti tiek nodrošināta ar konstrukciju try-with-resources, kas tika ieviesta Java 7. Tā ļauj automātiski aizvērt resursus, kas īsteno interfeisu AutoCloseable (piemēram, ievades/izvades plūsmas, datu bāzes savienojumi utt.) pēc try bloka beigām, pat ja blokā rodas izņēmums.
Piemērs:
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line = reader.readLine();
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
// reader šeit automātiski aizveras
Iepriekš resursu atbrīvošanai tika izmantots finally bloks, kurā tieši izsauca close() metodi. Bet try-with-resources padara kodu tīrāku un drošāku.