Sobes.tech
Junior — Middle

Java dilində müxtəlif referans növləri nədir və onlar necə tullantıların toplanmasına təsir edir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, Garbage Collector-ın (Çöp Toplayıcı) davranışına təsir edən müxtəlif referans növləri mövcuddur:

  1. Güclü Referans (Strong Reference) — obyektə adi referansdır. Güclü referanslar mövcud olduqda, obyekt silinməz.

  2. Yumşaq Referans (Soft Reference) — yumuşaq referansa sahib obyekt, yalnız yaddaş çatışmazlığı zamanı silinir. Keş üçün istifadə olunur.

  3. Zəif Referans (Weak Reference) — zəif referansa sahib obyekt, növbəti çöp toplayıcı keçidində silinə bilər, hətta zəif referanslar olsa belə.

  4. Fantom Referans (Phantom Reference) — obyektin silinməyə hazır olduğu anı izləmək üçün istifadə olunur, lakin hələ silinməyib. Obyekt silindikdən sonra əlavə tədbirlər görməyə imkan verir.

Zəif referans nümunəsi:

import java.lang.ref.WeakReference;

public class WeakRefExample {
    public static void main(String[] args) {
        Object obj = new Object();
        WeakReference<Object> weakRef = new WeakReference<>(obj);

        obj = null; // Güclü referansı silirik

        System.gc(); // Çöp toplayıcıyı işə salırıq

        if (weakRef.get() == null) {
            System.out.println("Obyekt silindi");
        } else {
            System.out.println("Obyekt hələ mövcuddur");
        }
    }
}

Bu şəkildə, referans növünün seçimi obyektlərin həyat müddətini və yaddaşın səmərəliliyini idarə etməyə imkan verir.