Junior — Middle
Java tilida ob'ektlarni yakunlash odatda qanday amalga oshiriladi?
sobes.tech AI
AIdan javob
Java tilida obyektlarning yakunlanishini boshqarish uchun odatda finalize() metodidan foydalaniladi, u ob'ekt o'chirilishidan oldin yig'uvchi tomonidan chaqiriladi. Biroq, Java 9 dan boshlab, bu metod eskirgan hisoblanadi va chaqirilish vaqti oldindan belgilab bo'lmasligi va ishlash tezligiga ta'siri tufayli foydalanish tavsiya etilmaydi.
Zamonaviy yondashuv - resurslarni aniq ravishda bo'shatish uchun AutoCloseable interfeysidan va try-with-resources konstruktsiyasidan foydalanish:
class Resource implements AutoCloseable {
public void close() {
// resurslarni bo'shatish
System.out.println("Resurs yopildi");
}
}
try (Resource res = new Resource()) {
// resurs bilan ishlash
}
// bu yerda res.close() avtomatik chaqiriladi
Shuning uchun, obyektlarning, ayniqsa resurslarni boshqaradiganlarning, yakunlanishi ochiq yopilish orqali amalga oshiriladi, finalize() orqali emas.