Sobes.tech
Junior — Middle

Java-da yaddaş idarəetməsi kontekstində zəif istinadın nə olduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da SoftReference (Yumşaq Referans) — bu növ referansdır ki, sistemdə kifayət qədər yaddaş yoxdursa, obyektin toplanmasına imkan verir, lakin yaddaş kifayət qədər olduğu müddətdə obyekt saxlanılır.

Bu, keş üçün faydalıdır: yumşaq referanslara malik obyektlər dərhal silinmir, yalnız yaddaş boşaldılmalı olduqda silinir.

Yumşaq referansın istifadəsinə nümunə:

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; // indi obyekt yalnız yumşaq referans vasitəsilə əlçatan

        Object obj = softRef.get();
        if (obj != null) {
            System.out.println("Obyekt əlçatan");
        } else {
            System.out.println("Obyekt toplanıb, garbage collector tərəfindən");
        }
    }
}