Sobes.tech
Junior — Middle

Java'da xotira boshqaruvi kontekstida yumshoq havola nima ekanligini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Java'da SoftReference (Yumshoq Reference) — bu turdagi reference bo'lib, tizimda etarli xotira bo'lmasa, ob'ektni garbage collector yig'ib olishi mumkin, lekin xotira etarli bo'lsa, ob'ekt saqlanib qoladi.

Bu cache uchun foydalidir: yumshoq referenslarga ega ob'ektlar darhol o'chirilmaydi, faqat xotira bo'shatilishi kerak bo'lsa, o'chiriladi.

Yumshoq referensdan foydalanish misoli:

import java.lang.ref.SoftReference;

public class SoftReferenceExample {
    public static void main(String[] args) {
        Object strongRef = new Object();
        SoftReference<Object> softRef = new SoftReference<>(strongRef);

        strongRef = null; // endi ob'ekt faqat yumshoq referens orqali mavjud

        Object obj = softRef.get();
        if (obj != null) {
            System.out.println("Ob'ekt mavjud");
        } else {
            System.out.println("Ob'ekt garbage collector tomonidan yig'ib olindi");
        }
    }
}