Sobes.tech
Junior — Middle

Yumuşak Referans aracılığıyla referans verilen nesneler için çöp toplayıcı tam olarak ne zaman çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

SoftReference aracılığıyla referans verilen nesneler, yalnızca bellek yetersiz olduğunda çöp toplayıcı tarafından toplanır. Bu, bu nesnelerin normal güçlü referanslara göre daha uzun yaşadığı anlamına gelir, ancak JVM bellek baskısı altında ise silinebilirler.

SoftReference, genellikle önbellek uygulamak için kullanılır: nesneler, kaynaklar yeterli olduğu sürece bellekte kalır ve bellek serbest bırakılması gerektiğinde kaldırılır.

Bu nedenle, çöp toplayıcı, SoftReference ile referans verilen bir nesneyi şu durumlarda kaldırır:

  • Az miktarda boş bellek varsa.
  • JVM, yeni nesneler için bellek serbest bırakması gerektiğine karar verirse.

Bu davranış, nesneye güçlü referanslar yoksa bir sonraki çöp toplama döngüsünde toplanabilecek WeakReference'dan farklıdır.