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:
-
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.
-
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
-
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
-
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