问题标签 [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.

0 投票
4 回答
551 浏览

java - HashMap 与 WeakHashMap 一起被垃圾收集?

据我了解,HashMap 不应该被垃圾收集,WeakHashMap 应该被垃圾收集,但是当我运行这段代码时,hashmap 和weakhashmap 都被垃圾收集了。

输出:

仅使用 HashMap 时,GC 不会对其进行垃圾收集。

输出:

0 投票
2 回答
821 浏览

java - WeakHashMap 是在不断增长,还是清除了垃圾键?

我正在尝试WeakHashMap用作弱引用的并发Set

当一个元素进入垃圾收集时,我的集合继续将其报告为集合的一部分。因此,地图似乎在不断增长。

文档说:

当一个键被丢弃时,它的条目就会从地图中有效地删除,......</p>

但在实践中似乎并非如此。

有没有什么地方可以WeakHashMap清除碎屑?

0 投票
4 回答
461 浏览

java - Java WeakHashMap 什么时候会清理空键?

在下面的代码中nameRef.get()是 null , aftername = nullSystem.gc()

WeakHashMap 基于 WeakReference。最后,我认为map.size()会是 0。事实上,它是 1。

Java WeakHashMap 什么时候清理null密钥?

0 投票
1 回答
299 浏览

java - Java WeakHashMap 清理

我试图弄清楚在收集垃圾后 WeakHashMap 是如何清理的。许多人可能知道,当 WeakHashMap 的键被垃圾回收时,它会自动删除。但是,例如,如果我做这样的事情:

ArrayList 不会清除空的 WeakReference 对象,但为什么 WeakHashMap 会呢?哪个组件负责此自动条目删除。我在 WeakHashMap 源代码中看不到任何可以做到这一点的代码。

0 投票
2 回答
78 浏览

java - Java7 WeakHashMap isEmpty() 似乎是错误的

我正在尝试使用 Java7 的 WeakHashMap,但我发现它的 isEmpty() 方法给了我错误的结果。

实际结果:

错误的

真的

{}

也就是说,

map.isEmpty() 和 map.keySet().isEmpty() 不一致。有人可以帮我理解吗?非常感谢。

0 投票
2 回答
266 浏览

java - 非同步的 WeakHashMap 有害吗?

我有一个看起来像这样的代码。

我已经知道WeakHashMap不同步。我只是不关心Patterns 的多重构造。

如果PATTERNS是多线程环境,是否应该同步?

0 投票
1 回答
68 浏览

java - 如何将嵌套数组列表转换为数组列表?

我已经存储HashMap到一个ArrayList,现在我想要ArrayList不同数组中的每个位置,所以请有人告诉我这怎么可能?

我的数组列表是这样的:

0 投票
5 回答
165 浏览

java - 在weakHashMap中,如果我更新或更改之前存储的键对象,垃圾收集器会删除键值对

我已经将一个对象作为键存储在WeakHashMap. 现在,如果我更改它的值,然后调用 GC 和 print map,那么什么都没有。

  • 预期输出:{200,"sgdjsgd"}
  • 实际输出:{}
0 投票
2 回答
83 浏览

java - 为什么我的 WeakHashMap 条目不会被 GC 删除?

我有一个类来管理多个功能的锁定对象。我发现 WeakHashMap 应该符合我的要求。这是我的代码:

但是,做了一个简单的测试后,我意识到锁对象在GC之后不会被删除。

你能告诉我我的实施有什么问题吗?先感谢您!

0 投票
1 回答
102 浏览

java - Java - 应用程序中使用的 HashMap 和 WeakHashMap 引用

只是试图从 GC 的角度理解一些东西

我的理解是,一旦这个方法调用离开堆栈,where无论使用HashMap或都没有引用WeakHashMap- 但由于弱引用是弱可访问的,这不会更快 GCd 吗?但是如果方法调用离开堆栈,那么无论如何都没有可访问的引用。

我想我真正的问题是-“WeakHashMap<>在这里使用实际上很重要”-我认为这是“不,因为影响微不足道”-但是第二个答案不会损害我的知识。