SORU
18 Kasım 2008, Salı


Yumuşak bir referans ve Java zayıf bir referans arasındaki fark nedir?

Başlık oldukça fazla meblağlar.

CEVAP
18 Kasım 2008, Salı


Understanding Weak References, Ethan Nicholas tarafından: dan

Zayıf başvuruyor

Birzayıf başvurubasitçe söylemek gerekirse, bir. için yeterince güçlü olmadığını başvurusu bir nesne bellekte kalması için zorlamak. Zayıf başvuru kaldıraç izin çöp toplayıcı için yeteneği seni bu yüzden sizin için erişilebilirlik belirlemek, bunu kendiniz yapmak zorunda değilsiniz. Sen böyle zayıf bir başvuru oluşturun

WeakReference weakWidget = new WeakReference(widget);

ve sonra kullanabilirsiniz bu kodu başka bir yerde weakWidget.get() gerçek olsun Widget nesne. Ders zayıf başvuru için yeterince güçlü değil böylece çöp toplama önlemek, bul (eğer varsa yok güçlü widget başvurular) weakWidget.get() aniden başlar null dönüyor.

...

Yumuşak başvuruyor

Biryumuşak bir referanstam olarak bir gibi. zayıf referans, az olması dışında istekli nesneyi atmak için bunu ifade eder. Bir nesneye zayıf ulaşılabilir (en güçlü tek başvuruları WeakReferences) bir sonraki çöp atılacak toplama döngüsü, ama bir nesne usulca erişilebilir olur genellikle. bir süre buralarda.

SoftReferences değilgerekliiçin herhangi bir farklı davranır WeakReferences ama pratik usulca içinde erişilebilir nesneler genellikle bellek olarak korudu bereketliydi. Bu onları bir yapar bir önbellek için, böyle mükemmel foundation resim önbelleği yukarıda açıklandığı gibi çöp sağlayabilirsiniz beri toplayıcı hakkında nasıl endişe nesneleri erişilebilir (bir kuvvetle olur erişilebilir nesneaslakaldırılacak ne kadar uzun sürmesi gerektiğini önbellek) ve bellek onlar tüketiyorlar.

Peter Kessler yorum eklendi:

Güneş TOTEM SoftReferences farklı WeakReferences gelen davranıyor. Eğer mevcut bellek üzerinde baskı değil mi, eğer orada bir SoftReference tarafından başvurulan nesne üzerinde tutmak için çalışıyoruz. Bir ayrıntı: ilke "istemci" ve "sunucu" TOTEM bu farklı:- müşteri TOTEM çalışır tutmak ayak izi küçük tarafından tercih açık SoftReferences yerine genişletmek öbek, oysa sunucu TOTEM çalışır tutmak performansınızı yüksek tarafından tercih genişletmek öbek (mümkünse) yerine açık SoftReferences. Bir boyutu tüm uymuyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • Vsauce

    Vsauce

    30 Temmuz 2007