首页 > 编程知识 正文

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

时间:2023-05-04 13:51:32 阅读:133029 作者:4027

区别:

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

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

基本实现:实现数组链表

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

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

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

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。