hashmap 底层源码分析
jdk 1.8
hashmap 底层的数据结构 数组+链表+红黑树
底层存储数据的结构Node 内部类
hashmap 调用hash 函数
1.计算hashcode函数的值
2.hashcode值右移16位,获得hashcode的高位
3.hashcode 高位与低位进行与运算
hashmap 默认的初始容量16
hashmap 的最大容量 2^30
hashmap 默认的加载因子 0.75
超过当前因子*默认容量,进行1倍扩容.(超过指定的阈值,进行扩容.阈值=默认容量*当前因子) threshold = loadFactor * 容量
链表长度超过8,链表转化为红黑树.