gpt4 book ai didi

java - 设置等效于 WeakHashMap?

转载 作者:太空狗 更新时间:2023-10-29 22:45:56 26 4
gpt4 key购买 nike

HashSet<WeakReference<T>> Set相当于WeakHashMap<T> ?也就是说,当条目不再被引用时,它们会自动删除吗?

如果不是,等价的是什么?

最佳答案

不,如果集合中的 WeakReference 之一引用的对象被垃圾回收,WeakReference 仍将包含在集合中并且不会被回收自动删除,但它们的 referent 将为 nullWeakHashMap 使用附加代码在垃圾收集时从映射中删除弱引用键。

WeakHashMap 的等价集合是:

Set<T> set = Collections.newSetFromMap(new WeakHashMap<T, Boolean>()); 

作为一个HashSet,也在内部使用了一个HashMap

顺便说一句:WeakReference 只是一个对象,指向一个可能被垃圾回收的对象,尽管 WeakReference 持有引用。 WeakReference 本身不会被垃圾回收,直到它不再像所有其他对象一样在任何地方被强引用。

关于java - 设置等效于 WeakHashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19367338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com