159得票8回答
什么是WeakHashMap,何时使用它?

WeakHashMap 是什么?何时应该使用它?WeakHashMap 和 HashMap 之间有什么区别?

59得票7回答
是否有java.util.concurrent中WeakHashMap的等效替代品?

以下代码片段是否可以被重写,而不使用Collections.synchronizedMap()方法,同时在并发时保持正确性?Collections.synchronizedMap(new WeakHashMap<Class, Object>()); 即,是否有java.util.c...

29得票1回答
WeakHashMap的等价物是什么?

HashSet<WeakReference<T>>是WeakHashMap<T>的Set等效物吗?也就是说,当它们不再被引用时,条目是否会被自动删除? 如果不是,那么该如何实现相同的功能?

22得票6回答
WeakHashMap示例

我创建了一个 WeakHashMap,代码如下:WeakHashMap<Employee,String> map = new WeakHashMap<Employee,String>(); map.put(emp,"hello"); 如果emp是一个Employee对象...

15得票4回答
一个弱哈希映射如何知道需要进行垃圾回收?

我最近了解到Java中的 WeakHashMap 数据结构。 然而,我不理解当它不再被常规使用时,它如何通过垃圾回收来清除映射。这个数据结构如何知道我在程序中不再使用键?如果我很长时间没有引用一个键会怎样呢?

13得票6回答
WeakHashMap与HashMap的区别

在以下代码示例中,当键设置为null并调用System.gc()时,WeakHashMap将失去所有映射并被清空。class WeakHashMapExample { public static void main(String[] args) { Key k1 = new Key...

9得票5回答
WeakHashMap的keySet条目永远不会为空吗?

如果我在WeakHashMap的键集上进行迭代,是否需要检查空值? WeakHashMap<MyObject, WeakReference<MyObject>> hm = new WeakHashMap<MyObject, WeakReference&l...

9得票4回答
Java弱引用哈希映射 - 需要基于值的弱性而非键来删除条目。

因此,Java中的WeakHashMap允许创建一个映射,如果其键变得弱,则删除其条目。但是,我如何创建一个Map,当地图中的值变得弱时将其条目删除?我希望使用映射作为全局哈希表,根据它们的ID跟踪对象。 ID ---> Object Address Key ---> Val...

9得票2回答
如果一个WeakHashMap的值包含对键的唯一强引用,那么该条目是否会被收集?

我需要将一些数据与一个键关联,以便在其生命周期内使用,因此我正在使用 WeakHashMap。然而,除此之外,我还需要通过相应的值获取键。做法很简单,创建值时保留引用即可: public class Key {} public class Value { final public...

9得票1回答
如何在Java中有效地使用String作为WeakHashMap的键,或者使用替代解决方案

我正在管理一个Java项目,用于存储用户数据。用户可以在线或离线。当用户在线时,他们的数据会加载到数据对象中以便于访问,并在注销时卸载。 然而,为了防止多个命令同时操作数据而导致数据损失,对于离线用户,我使用WeakHashMap作为已加载用户数据对象的缓存。如果需要访问离线数据对象进行修改...