本文最后更新于60 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
由Java7的链表+数组的结构改成数组+链表/红黑树(当链表节点数打到8时转换为红黑树)
链表的插入方式由头插法改成了尾插法(方便红黑树的转换、解决线程安全中的循环问题)
扩容时Java7需要对原数组进行重新hash定位在新数组的位置,Java8中采用更简单的判断逻辑,位置不变或索引+旧容量大小
由Java7的链表+数组的结构改成数组+链表/红黑树(当链表节点数打到8时转换为红黑树)
链表的插入方式由头插法改成了尾插法(方便红黑树的转换、解决线程安全中的循环问题)
扩容时Java7需要对原数组进行重新hash定位在新数组的位置,Java8中采用更简单的判断逻辑,位置不变或索引+旧容量大小