在Java EE编程中使用Weak和Soft引用的位置

时间:2011-12-06 03:50:27

标签: java weak-references soft-references

我是Java EE开发人员,但我不知道日常编程在哪里 一个人可能会使用弱引用或软引用。

2 个答案:

答案 0 :(得分:0)

有许多好的参考文献(很好的双关语!)我建议你使用Google Bob Lee,“虚拟机中的幽灵。”

简而言之,a   SoftReference偶尔会用作快速和脏的缓存,但它们并不是很有用。   WeakRefences不用于缓存,但是你的监听器列表肯定应该使用它们,以便可以对不需要的监听器进行垃圾收集。

答案 1 :(得分:0)

你通常不会在日常编程中使用它们(至少我没有,我认为我们大多数人都没有),但它们非常有用!

对我来说,实际情况是:

WeakReference用于调试目的(例如跟踪打开的数据库连接)。

SoftReference用于快速和脏缓存(例如,缓存创建“昂贵”的大型Java POJO,不应立即清除)。

在我看来,PhantomReference实在是不切实际。