Java:使用弱引用进行堆栈

zzz*_*zzz 8 java stack weak-references set weakhashmap

在Java中,有一个名为WeakHashMap的数据结构,它将弱引用存储为键.每当弱引用从内存中取出时,该条目将从地图中删除.

如果我有一个数据结构,如Stack或Set,我存储弱引用,当弱引用从内存中取出时,它们的条目会被自动删除吗?

下面是存储弱引用的Stack的示例.

Stack<WeakReference<Object>> objStack = new Stack<WeakReference<Object>>();
Run Code Online (Sandbox Code Playgroud)

Pop*_*ops 2

是的。您所描述的是弱引用的一般属性,而不是WeakHashMap具体的属性。

API

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