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-ը դարձնում է կոդը ավելի մաքուր և անվտանգ։