一.源码介绍
public class WeakHashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>
WeakHashMap继承了AbstractMap,实现了Map接口,和HashMap一样,WeakHashMap也是一个散列表,他所存的键值对都可以为null。但WeakHashMap属于弱键(下文介绍)
private static final int DEFAULT_INITIAL_CAPACITY = 16;//初始容量
private static final int MAXIMUM_CAPACITY = 1 << 30;//最大容量
private static final float DEFAULT_LOAD_FACTOR = 0.75f;//默认加载因子
Entry<K,V>[] table;
private int size;//实际存放数据个数
private int threshold;//扩容阈值
private final float loadFactor;//加载因子
private final ReferenceQueue<Object> queue = new ReferenceQueue<>();//引用队列
int modCount;//修改次数
Entry
实现Map.Entry,其中的Super(key,value)key表示将原始Key包装为了WeakReference对象,queue用来内存回收
private static class Entry