最佳答案
Java 的 弱 HashMap经常被认为对缓存很有用。虽然它的弱引用是根据映射的键而不是它的值来定义的,这看起来很奇怪。我的意思是,它是我想要缓存的值,而且我希望在除了缓存之外没有其他人强烈引用它们的时候对它们进行垃圾收集,不是吗?
它通过哪种方式帮助保持对键的弱引用?如果执行 ExpensiveObject o = weakHashMap.get("some_key")
,那么我希望缓存保持在‘ o’上,直到调用者不再保持强引用,而且我根本不关心字符串对象“ some _ key”。
我错过了什么吗?