Sobes.tech
Junior — Middle

Java'da mavjud bo'lgan referens turlarini va ularning xususiyatlarini sanab o'ta olasizmi?

sobes.tech AI

AIdan javob

Java'da, atrof-muhit va xotira boshqaruviga ta'sir qiladigan quyidagi referens turlari mavjud:

  1. Kuchli Referensiya (Strong Reference)

    • Standart tarzda ishlatiladigan oddiy referensiya.
    • Kuchli referensiyaga ega bo'lgan ob'ekt garbage collector tomonidan o'chirilmaydi.
  2. Yumshoq Referensiya (Soft Reference)

    • Kesh uchun ishlatiladi.
    • Yumshoq referensiyaga ega ob'ektlar faqat xotira yetishmovchiligi bo'lsa o'chiriladi.
    • Sinf: java.lang.ref.SoftReference
  3. Zaif Referensiya (Weak Reference)

    • Zaif referensiyaga ega ob'ektlar, agar kuchli referensiyalar bo'lmasa, keyingi garbage collection tsikliga o'z-o'zidan o'chiriladi.
    • Zaif keshlarni amalga oshirish uchun ishlatiladi.
    • Sinf: java.lang.ref.WeakReference
  4. Fantom Referensiya (Phantom Reference)

    • Ob'ekt o'chirilishga tayyor bo'lsa, uni kuzatish uchun ishlatiladi.
    • get() metodidan ob'ektni olish mumkin emas (null qaytaradi).
    • Resurslarni tozalashni yanada nozikroq nazorat qilish uchun qo'llaniladi.
    • Sinf: java.lang.ref.PhantomReference

Zaif referensiya yaratish misoli:

import java.lang.ref.WeakReference;

String kuchli = new String("Hello");
WeakReference<String> zaif = new WeakReference<>(kuchli);

kuchli = null; // endi ob'ekt faqat zaif referensiya orqali mavjud

String qiymat = zaif.get(); // ob'ekt allaqachon yig'ilgan bo'lsa null qaytarishi mumkin