Sobes.tech
Junior — Middle

Java'da mevcut olan referans türlerini ve özelliklerini sıralayabilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da, çöp toplamayı ve bellek yönetimini etkileyen aşağıdaki referans türleri vardır:

  1. Güçlü Referans (Strong Reference)

    • Varsayılan olarak kullandığımız normal referans.
    • Güçlü bir referansa sahip nesne, çöp toplayıcı tarafından silinmez.
  2. Yumuşak Referans (Soft Reference)

    • Önbellekleme için kullanılır.
    • Yumuşak referanslara sahip nesneler, yalnızca bellek yetersiz olduğunda silinir.
    • Sınıf: java.lang.ref.SoftReference
  3. Zayıf Referans (Weak Reference)

    • Zayıf referanslara sahip nesneler, güçlü referanslar yoksa bir sonraki çöp toplama döngüsünde silinir.
    • Zayıf önbellekleri uygulamak için kullanılır.
    • Sınıf: java.lang.ref.WeakReference
  4. Hayalet Referans (Phantom Reference)

    • Bir nesnenin silinmeye hazır olduğu zamanı izlemek için kullanılır.
    • get() yöntemiyle nesne alınamaz (null döner).
    • Kaynak temizliğini daha ince kontrol etmek için kullanılır.
    • Sınıf: java.lang.ref.PhantomReference

Zayıf referans oluşturma örneği:

import java.lang.ref.WeakReference;

String güçlü = new String("Hello");
WeakReference<String> zayıf = new WeakReference<>(güçlü);

güçlü = null; // artık nesne sadece zayıf referans aracılığıyla erişilebilir

String değer = zayıf.get(); // nesne zaten toplanmışsa null dönebilir