Bar*_*man 17 java collections weak-references hashset weakhashmap
是HashSet<WeakReference<T>>的Set等效WeakHashMap<T>?也就是说,当条目不再被引用时会自动删除吗?
如果没有,那相当于什么?
Njo*_*jol 21
不,如果WeakReference集合中某个s 引用的对象被垃圾收集,WeakReference则仍然会包含在集合中,并且不会自动删除,但它们referent将会被删除null.A WeakHashMap使用其他代码在垃圾收集时从地图中删除弱引用的键.
相当于a的集合WeakHashMap是:
Set<T> set = Collections.newSetFromMap(new WeakHashMap<T, Boolean>());
Run Code Online (Sandbox Code Playgroud)
作为一个HashSet也在HashMap内部使用.
顺便说一句:A WeakReference只是一个指向一个对象的对象,尽管该引用持有了该对象,但该对象可能被垃圾收集WeakReference.它WeakReference本身不会被垃圾收集,直到它不再被强烈引用,就像所有其他对象一样.
| 归档时间: |
|
| 查看次数: |
3576 次 |
| 最近记录: |