小蚂蚁的ConcurrentHashMap原理笔记
1、HashMap是线程不安全的,多线程下会有数据安全问题。
2、Hashtable是线程安全的,但是会将整张表锁起来,效率低下
3、ConcurrentHashMap也是线程安全的,效率较高。(在JDK7和JDK8中,底层原理不一样)
JDK7:
创建对象:
1.创建一个长度为16,加载因子为0.75的大数组(数组长度固定)
2.创建一个长度为2的小数组,把地址值赋给0索引处(其他索引位置的元素都为null)
添加元素:
1.第一次根据哈希值找到需要存入的索引处
如果为null,则创建一个长度为2
原创
2020-11-16 11:09:04 ·
58 阅读 ·
0 评论