本文针对jdk1.8的ConcurrentHashMap 一、1.8的HashMap设计
1.1 整体概览 HashMap采用的是数组 链表 红黑树的形式。 数组是可以扩容的,链表也是转化为红黑树的,这2种方式都可以承载更多的数据。 用户可以设置的参数:初始总容量默认16,默认的加载因子0.75 初始的数组个数默认是16(用户不能设置的) 容量X加载因子=阈值 一旦目前容量超过该阈值,则执行扩容操作。 什么时候扩容?
什么时候链表转化为红黑树?(上面已经提到了)
目前形象的表示数组中的一个元素称为一个桶 1.2 put过程 根据key计算出hash值 hash值 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|