📅  最后修改于: 2023-12-03 15:02:00.319000             🧑  作者: Mango
java.util.WeakHashMap是Java中的一个集合类,它的特点是它的键值对对垃圾回收机制有很好的支持。该类继承自AbstractMap类,并且实现了Map接口。
WeakHashMap的键是“弱键”,意味着当该键不再被引用时,它的垃圾回收器可以自动将它从map中清除。这种自动行为使得WeakHashMap非常适合缓存中间结果,这些中间结果可能不再被使用,但仍在map中占用内存。
该类的get方法用于从map中获取与指定键相关联的值,如果键不存在于map中,则该方法返回null。
V get(Object key)
返回与指定键关联的值,如果该键不存在于映射中,则返回null。
import java.util.WeakHashMap;
public class Example {
public static void main(String[] args) {
// 创建WeakHashMap对象
WeakHashMap<Integer, String> weakHashMap = new WeakHashMap<>();
// 添加键值对
Integer key1 = new Integer(1);
String value1 = "value1";
weakHashMap.put(key1, value1);
// 获取key1的value值
System.out.println("Value of key1: " + weakHashMap.get(key1)); // 输出:Value of key1: value1
// 将key1设为null
key1 = null;
// 手动触发垃圾回收器
System.gc();
// 再次尝试获取key1的value值
System.out.println("Value of key1 after GC: " + weakHashMap.get(key1)); // 输出:Value of key1 after GC: null
}
}
更多关于WeakHashMap的内容,请查阅官方文档。