本文介绍了为什么存在WeakHashMap,却没有WeakSet?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
来自 J.布洛赫
... 内存泄漏的来源是听众... 最好的方法来确保回调被垃圾收集及时是只存储弱对它们的引用,例如,通过仅将它们作为键存储在WeakHashMap.
那么,为什么 Java Collections 框架中没有 WeakSet?
So, why there isn't any WeakSet in the Java Collections framework?
推荐答案
Collections.newSetFromMap
Set<Object> weakHashSet =
Collections.newSetFromMap(
new WeakHashMap<Object, Boolean>()
);
如 Collections.newSetFromMap
文档,传递一个 WeakHashMap
获取 Set
.
这篇关于为什么存在WeakHashMap,却没有WeakSet?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!