Sobes.tech
Junior — Middle

Java-da mövcud olan referans tiplərini və onların xüsusiyyətlərini sadalaya bilərsənmi?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, yaddaşın idarə olunması və çöp toplanmasına təsir edən aşağıdakı referans tipləri mövcuddur:

  1. Güclü Referans (Strong Reference)

    • Standart olaraq istifadə etdiyimiz referans növü.
    • Güclü referansa sahib obyekt, çöp toplayıcı tərəfindən silinməz.
  2. Yumşaq Referans (Soft Reference)

    • Keş üçün istifadə olunur.
    • Yumşaq referanslara sahib obyektlər, yalnız yaddaş çatışmazlığı zamanı silinir.
    • Sinif: java.lang.ref.SoftReference
  3. Zayıf Referans (Weak Reference)

    • Zayıf referanslara sahib obyektlər, güclü referanslar yoxdursa, növbəti çöp toplanma dövründə silinir.
    • Zəif keşlərin tətbiqi üçün istifadə olunur.
    • Sinif: java.lang.ref.WeakReference
  4. Fantom Referans (Phantom Reference)

    • Obyektin silinməyə hazır olduğu zamanı izləmək üçün istifadə olunur.
    • get() metodu ilə obyekt əldə edilə bilməz (null qaytarır).
    • Resursların təmizlənməsini daha incə nəzarət etmək üçün istifadə olunur.
    • Sinif: java.lang.ref.PhantomReference

Zəif referans yaratma nümunəsi:

import java.lang.ref.WeakReference;

String güclü = new String("Hello");
WeakReference<String> zəif = new WeakReference<>(güclü);

güclü = null; // indi obyekt yalnız zəif referans vasitəsilə əlçatandır

String dəyər =if.get(); // obyekt artıq toplanıbsa null qaytara bilər