首页天道酬勤jvm底层原理,hashmap的底层实现

jvm底层原理,hashmap的底层实现

张世龙 05-05 19:52 120次浏览

区别:

)混叠映射方法无同步修饰,线程不安全; 休眠线程安全

)2) HashMap允许key和value为null,HashTable不允许

基本实现:实现数组链表

jdk8的链表高度开始超过8,数组长度开始超过64,链表变为红黑树,元素作为内部类的节点存在

计算key的混列值,二次混列,取数组长度,对应数组下标

如果未发生混列冲突,且下标位置没有元素,则直接创建节点并将其存储在数组中。

发生混列冲突时,先进行equals比较,相同时替换该因素; 否则,确定链表的高度将插入链表中,链表的高度将达到8,数组的长度将达到64,变为红黑树。 长度小于6时,将红黑树放回链表

key为空,存在下标为0的位置

hashcode和地址的关系,hashmap和list区别