开发者社区 问答 正文

HashMap 和 ConcurrentHashMap 有什么区别?

HashMap 和 ConcurrentHashMap 有什么区别?

展开
收起
叫我饭啊啊 2021-10-25 17:16:02 2366 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 1.ConcurrentHashMap对整个桶数组进行了分割分段(Segment),然后在每一个分段上都用lock锁进行保护,相对于HashTable的synchronized锁的粒度更精细了一些,并发性能更好,而HashMap没有锁机制,不是线程安全的。(JDK1.8之后ConcurrentHashMap启用了一种全新的方式实现,利用CAS算法。)

    2.HashMap的键值对允许有null,但是ConCurrentHashMap都不允许。

    2021-10-25 17:16:25 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等