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:
-
Kuchli Referensiya (Strong Reference)
- Standart tarzda ishlatiladigan oddiy referensiya.
- Kuchli referensiyaga ega bo'lgan ob'ekt garbage collector tomonidan o'chirilmaydi.
-
Yumshoq Referensiya (Soft Reference)
- Kesh uchun ishlatiladi.
- Yumshoq referensiyaga ega ob'ektlar faqat xotira yetishmovchiligi bo'lsa o'chiriladi.
- Sinf:
java.lang.ref.SoftReference
-
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
-
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