1、成员变量:
1.1static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
hash表的默认初始化容量为2的4次方。
1.2static final int MAXIMUM_CAPACITY = 1 << 30;
表示最大容量为2的30次方。
1.3static final float DEFAULT_LOAD_FACTOR = 0.75f;
表示默认的加载因子;
1.4static final int TREEIFY_THRESHOLD = 8;
表示树化的阈值。
1.5static final int UNTREEIFY_THRESHOLD = 6;
表示非树化的阈值
1.6static final int MIN_TREEIFY_CAPACITY = 64;
树化的最小容量
1.7(jdk1.8中的node节点)
2.构造器,将默认的负载因子传给了真实的负载因子
3.构造器2,传入一个map用于构造hashmap
4.构造器3,可以传入初始化容量的构造器,阿里规约要求创建一个hashmap时需要传入一个容量,原因在于数组可能会扩容,hashmap的扩容比较复杂。
这个构造器又会调用其余的构造器: