在Java中,有一个称为WeakHashMap的数据结构将弱引用存储为键。每当弱引用从内存中取出时,该条目就会从映射中删除。

如果我要在其中存储弱引用的数据结构(如堆栈或集合),当弱引用从内存中取出时,它们的条目会自动删除吗?

下面是一个存储弱引用的堆栈示例。

Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();

最佳答案

是。您所描述的通常是弱引用的属性,而不是WeakHashMap

the API:

假设垃圾收集器在某个时间点确定对象是弱可访问的。到那时,它将自动清除对该对象的所有弱引用。

07-24 09:18