Javadocs说:"当一个密钥被丢弃时,它的条目将被有效地从地图中删除".
但除非有另一个线程偶尔删除这些Map.Entry条目,否则地图不会强烈引用值对象?但是由于没有运行这样的线程,只有get方法调用可以删除这些条目 - 一次一个.
Map.Entry
get
我几乎总是WeakHashMap<K, WeakReference<V>>因为这个原因而使用.为什么他们没有将默认行为 - 值作为弱引用呢?
WeakHashMap<K, WeakReference<V>>
java collections weak-references weakhashmap
collections ×1
java ×1
weak-references ×1
weakhashmap ×1