ConcurrentHashMap –兼顾线程安全和运行效率
首先推荐一个网址(用漫画的形式讲解,图形结合通俗易懂很赞,文章的内容也是来源于此)
目录
ConcurrentHashMap与hashmap相比主要是多了一个segment的概念
segment是什么呢
- Segment本身就相当于一个HashMap对象。
- 同HashMap一样,Segment包含一个HashEntry数组,数组中的每一个HashEntry既是一个键值对,也是一个链表的头节点。
单一的Segment结构如下:
- 在ConcurrentHashMap中,这样的segment有2^n个,共同保存在一个名为segments的数组当中。
- 在ConcurrentHashMap中,这样的segment有2^n个,共同保存在一个名为segments的数组当中。
整个ConcurrentHashMap的结构如下:
- 可以说,ConcurrentHashMap