HashMap知识点

Deadly 提交于 2019-12-04 22:08:49

1.实现结构是hash表bucket,底层就是node,也有人称为段(segment)

2.put,通过对key执行hashcode()找到对应对索引,当hashcode相同是发生“碰撞”,采用链表方式存储,jdk8在量大时引入红黑树数据结构

3.get,通过对key执行hashcode()找到对应对索引,若索引对应多个值时才使用equals()进行比较取值

4.resize,当容量超过阀值(loadFactor默认0.75)时,进行翻倍扩张,resize将导致索引重排,大大影响性能

5.concurrent,通过CAS操作,对node进行分段锁,保证每个node对线程安全

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!