Java参考

3 java garbage-collection reference

有没有办法找到对象的所有引用(在Java中)?

我有一个对象缓存,并希望定期扫描它,看看删除对象是否会导致它被销毁.

Vla*_*dim 6

您可能想看看Java提供的不同引用类型:strong,soft,weak和phantom.

对于缓存,您通常会将引用包装到WeakReference或SoftReference中,并在没有更多强引用时收集对象.


Bal*_*usC 5

我有一个对象缓存

考虑使用a WeakHashMap而不是HashMap抓住它们.

以下是API的摘录:

Map具有弱键的基于散列表的实现.当其密钥不再正常使用时,将自动删除该条目中的条目WeakHashMap.更准确地说,给定密钥的映射的存在不会阻止密钥被垃圾收集器丢弃,即,可以最终化,最终化,然后回收.当一个键被丢弃时,它的条目将被有效地从映射中删除,因此该类的行为与其他Map实现的行为略有不同.