问题标签 [weakhashmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - WeakHashMap 在将引用放入ReferenceQueue 后如何_actually_ 找到条目
AWeakHashMap
几乎可以与 aWeakReference
结合使用ReferenceQueue
- 关于此的新闻为零。这是一个关于它应该如何工作的精简示例:
这正是它WeakHashMap
的工作原理——当referent
被回收并将reference
放在ReferenceQueue
. 在一些后续的操作中,expungeStaleEntries
被调用,它基本上会从这个元素中ReferenceQueue
一个一个地获取元素并对其进行操作。
referent
我的问题是:如果现在消失了,它如何“对他们采取行动” ?毕竟这是 a ...HASHMap
,所以为了移除元素,它必须知道它是hashCode
. 你怎么知道hashCode
现在已经消失的东西?
reference - 对 java.util.WeakHashMap 行为感到困惑?
这里是三种情况,为什么 case1 结果是 {name=Bob},但是 case2 结果是 {},case3 仍然是 {name=Bob}。case1 和 case2 之间的区别在于放置不同的键。在 JDK8 上运行。为什么?
kotlin - 如何在 Kotlin 的 WeakHashMap 上调用“放置”?
我WeakHashMap
在 Kotlin 中创建了一个,由于某种原因,我无法调用put
它,它不会解决。
a 是否有 Kotlin 等价物WeakHashMap
?
java - 收集 WeakHashMap 的条目时,如何对值进行一些清理?
我有一个WeakHashMap<K, V>
whoV
没有对K
.
AnOtherClient
是从SomeConfiguration
没有字符串引用的情况下生成的。
现在我需要在收集OtherClient
相关信息时做一些清理工作。SomeConfiguration
说,打电话close()
。
我怎样才能做到这一点?我应该准备一个参考队列并让一个线程这样做吗?
java - 如何等到 WeakHashMap 更新?
除了固定超时之外,还有其他方法可以知道WeakHashMap在密钥变得弱可访问后何时更新其条目?
例如,这段代码使对键的强引用无效,除非添加超时,否则仍会打印条目在映射中。
有没有更优雅的方法可以知道 WeakReferences 何时完成更新?
java - Java WeakHashMap 不使用 equal 方法
我有一个User
带有一个equals()
方法和一个hashCode()
方法的类,WeakHashMap<User,V>
现在我想向它添加两个新用户。问题是这两个新用户在我比较它们时具有相同的字段和equals()
返回true
,所以我不能WeakHashMap<User,V>
为这两个用户中的每一个添加一个值并不奇怪。但是我需要为每个用户指定一个特定的值...我尝试了一个使用直接对象比较Wrapper
覆盖该方法的类,但现在我的问题是它不再起作用了,因为根本没有对包装器对象的直接引用时间。这里以代码形式解释了同样的事情:equals
==
WeakHashMap<Wrapper, V>
结果: