Sobes.tech
Junior — Middle

Kuidas tagada ressursside automaatne vabastamine programmis?

sobes.tech AI

Vastus AI-lt

Java keeles on ressursside automaatne vabastamine tavaliselt tagatud try-with-resources konstruktsiooniga, mis võeti kasutusele Java 7-s. See võimaldab automaatselt sulgeda AutoCloseable liidest täitvad ressursid (näiteks sisend-/väljavoolud, andmebaasi ühendused jne) pärast try ploki lõppu, isegi kui plokis tekib erind.

Näide:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader suletakse automaatselt siin

Varasemalt kasutati ressursside vabastamiseks finally plokki, kus kutsuti otseselt välja close() meetod. Kuid try-with-resources muudab koodi puhtamaks ja turvalisemaks.