问题标签 [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 - 它的目的是什么以及如何正确使用它
今天我发现这篇博客文章 讨论WeakHashMap
了缓存的用法。有趣的是,不是值,而是键被存储为弱引用,当引用不再存在时,整个键值对将从 WeakHashMap 中删除。因此,这将导致以下情况发生:
我很好奇什么场景会利用这个WeakHashMap
课程?
java - Java SoftHashMap 实现
我想SoftHashMap
基于 JavaSoftReference
和HashMap
. Java 文档,关于 WeakHashMap,说键是弱引用而不是值。我想知道什么hashcode()
将用于底层的 put 和 pull 函数HashMap
。我假设WeakHashMap
put 的工作方式是这样的:hashMap.put(new WeakReference(key), value);
如果这是真的,如何找到密钥的条目。
如果值被包装在 aWeakReference
而不是键中会不会更好?
java - 如果值包含对键的唯一强引用,是否会收集 WeakHashMap 的条目?
我需要将一些数据与其生命周期内的密钥相关联,因此我使用的是WeakHashMap
. 但是,除此之外,我还需要通过其对应的值获取一个键。最简单的方法是在创建值时保持引用:
当然,当我Value
在我的程序中使用时,它key
不会消失。但是,如果在 map 之外没有更多对键或其值的引用,它会被垃圾回收吗?还是值中幸存的强引用阻止了它?
java - Java,将对象转换为软引用
我需要将一个数据对象放入包含软引用的弱哈希图中。如何将我的“可绘制”对象转换为软引用?
tempPulled 应该是 "sPulled" ,即软引用
java - 如何克隆/复制 WeakHashMap?(深拷贝)
我有一个 HashMap,我使用 clone 函数制作了一个深拷贝。但我将其切换为 WeakHashMap 以尝试一些内存管理。
我仍然想做这个克隆函数,但它不是 WeakHashMap 中方法的一部分。如何有效地将 WeakHashMap 克隆到另一个中?我想我可以做一个循环,添加密钥并检查现有密钥等,但我不确定这是否是最好的方法。
java - WeakHashMap 和强引用值
Javadocs 说“当一个键被丢弃时,它的条目就被有效地从映射中删除了”。
但是除非有另一个线程偶尔会删除这些Map.Entry
条目,否则值对象不会被映射强引用吗?但是由于没有这样的线程在运行,只有get
方法调用可以删除这样的条目——一次一个。
我几乎总是WeakHashMap<K, WeakReference<V>>
因为这个原因使用。为什么他们不将其设为默认行为 - 值也作为弱引用?
java - 弱哈希映射示例
我创建一个 WeakHashMap 作为
其中 emp 是一个 Employee 对象。现在,如果我执行 emp = null 或说不再引用 emp 对象,那么该条目是否会从 WeakHashMap 中删除,即 Map 的大小是否为零?
如果是 HashMap,反之亦然吗?
我对 WeakHashMap 的理解正确吗?
java - Java:weakhashmap 如何确定密钥是否“过时”?
它怎么知道这把钥匙是旧的并准备扔掉?为什么是字符串文字?
例如,
这是否意味着一旦 A() 返回,'p' 键就会消失?
java - 弱哈希映射如何知道垃圾收集对象?
我最近发现了WeakHashMap
Java 中的数据结构。
但是,我不明白当映射不再正常使用时垃圾收集映射是什么意思。数据结构如何知道我将不再在程序中使用密钥?如果我长时间不参考密钥怎么办?
java - Java:弱引用堆栈
在 Java 中有一种称为 WeakHashMap 的数据结构,它将弱引用存储为键。每当弱引用从内存中取出时,条目就会从映射中删除。
如果我有一个数据结构,例如堆栈或集合,我在其中存储弱引用,当弱引用从内存中取出时,它们的条目会被自动删除吗?
下面是一个存储弱引用的堆栈示例。