【发布时间】:2012-08-10 21:49:44
【问题描述】:
在 Java 中有一种称为 WeakHashMap 的数据结构,它将弱引用存储为键。每当弱引用从内存中取出时,条目就会从映射中删除。
如果我有一个 Stack 或 Set 等数据结构来存储弱引用,当弱引用从内存中取出时,它们的条目是否会自动删除?
下面是一个存储弱引用的堆栈示例。
Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();
【问题讨论】:
-
你确定它不会返回空值吗?
-
如果您想在实际应用程序中使用弱引用,请不要这样做!构建核心库的人后悔添加它们,因为它们没有提供任何好处。如果您有兴趣,请观看presentation。
-
感谢视频链接,但我认为有些项目可以很好地利用 WeakReferences。例如,查看适用于 Android 的 Robotium 项目code.google.com/p/robotium
-
嗯,我很确定我对 SoftReferences 感到困惑。感谢项目的链接,我去看看。
标签: java stack set weak-references weakhashmap