Sobes.tech
Junior — Middle

Ինչպե՞ս ապահովել ծրագրում ռեսուրսների ավտոմատ ազատում։

sobes.tech AI

Պատասխան AI-ից

Java-ում ռեսուրսների ավտոմատ ազատումը սովորաբար ապահովվում է try-with-resources կառուցվածքով, որը ներկայացվել է Java 7-ում: Դա թույլ է տալիս ավտոմատ փակել AutoCloseable ինտերֆեյսը իրականացնող ռեսուրսները (օրինակ, մուտք/ելք հոսքեր, տվյալների բազայի կապեր և այլն) try բլոկի ավարտից հետո, նույնիսկ եթե բլոկի ընթացքում տեղի ունենա արտահայտություն:

Օրինակ՝

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader ավտոմատ փակվում է այստեղ

Նախկինում ռեսուրսների ազատման համար օգտագործվում էր finally բլոկը, որտեղ բացահայտորեն կանչվում էր close() մեթոդը: Բայց try-with-resources-ը դարձնում է կոդը ավելի մաքուր և անվտանգ։