static final int DEFAULT_INITIAL_CAPACITY = 16; 默认容量
static final int MAXIMUM_CAPACITY = 1073741824; 最大容量
static final float DEFAULT_LOAD_FACTOR = 0.75F; 增长因子
// 这是一个阈值,当桶(bucket)上的链表数大于这个值时会转成红黑树,put方法的代码里有用到
static
final
int
TREEIFY_THRESHOLD =
8
;
// 也是阈值同上一个相反,当桶(bucket)上的链表数小于这个值时树转链表
static
final
int
UNTREEIFY_THRESHOLD =
6
;
// 看源码注释里说是:树的最小的容量,至少是 4 x TREEIFY_THRESHOLD = 32 然后为了避免(resizing 和 treeification thresholds) 设置成64
static
final
int
MIN_TREEIFY_CAPACITY =
64
;
// 每次扩容和更改map结构的计数器
transient
int
modCount;
// 临界值 当实际大小(容量*填充因子)超过临界值时,会进行扩容
int
threshold;
get和put的时候确定元素在数组中的位置