我是Java EE开发人员,但我不知道日常编程在哪里 一个人可能会使用弱引用或软引用。
答案 0 :(得分:0)
有许多好的参考文献(很好的双关语!)我建议你使用Google Bob Lee,“虚拟机中的幽灵。”
简而言之,a SoftReference偶尔会用作快速和脏的缓存,但它们并不是很有用。 WeakRefences不用于缓存,但是你的监听器列表肯定应该使用它们,以便可以对不需要的监听器进行垃圾收集。
答案 1 :(得分:0)
你通常不会在日常编程中使用它们(至少我没有,我认为我们大多数人都没有),但它们非常有用!
对我来说,实际情况是:WeakReference用于调试目的(例如跟踪打开的数据库连接)。
SoftReference用于快速和脏缓存(例如,缓存创建“昂贵”的大型Java POJO,不应立即清除)。
在我看来,PhantomReference实在是不切实际。