page contents

HashMap 与 HashTable 的区别是什么?

轩辕小不懂 发布于 2022-01-20 14:19
阅读 486
收藏 0
分类:Java开发
2939
Nen
Nen
- 程序员

HashMap 不是线程安全的,而 ConcurrentHashMap 是线程安全的。

ConcurrentHashMap 采用锁分段技术,将整个Hash桶进行了分段segment,也就是将这个大的数组分成了几个小的片段 segment,而且每个小的片段 segment 上面都有锁存在,那么在插入元素的时候就需要先找到应该插入到哪一个片段 segment,然后再在这个片段上面进行插入,而且这里还需要获取 segment 锁,这样做明显减小了锁的粒度。

请先 登录 后评论