//两个常量 向下追踪
public HashMap() {
this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
}
//无参构造创建对象之后 会有两个常量
//DEFAULT_INITIAL_CAPACITY 默认初始化容量 16 这里值得借鉴的是位运算
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
//DEFAULT_LOAD_FACTOR 负载因子默认为0.75f 负载因子和扩容有关 后文详谈
static final float DEFAULT_LOAD_FACTOR = 0.75f;
//最大容量为2的30次方
static final int MAXIMUM_CAPACITY = 1 << 30;
//以Node<K,V>为元素的数组,长度必须为2的n次幂
transient Node<K,V>[] table;
//已经储存的Node<key,value>的数量,包括数组中的和链表中的,逻辑长度
transient int size;
threshold 决定能放入的数据量,一般情况下等于 Capacity * LoadFactor
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。