Sobes.tech
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.