Sobes.tech
Junior — Middle

Java tilida turli xil havolalar qanday farq qiladi va ular qanday qilib axlatni yig'ish jarayoniga ta'sir qiladi?

sobes.tech AI

AIdan javob

Java'da, Garbage Collector'ın 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) — yumş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.