为了账号安全,请及时绑定邮箱和手机立即绑定

ConcurrentHashMap和Collection s.SynizedMap(Map)

ConcurrentHashMap和Collection s.SynizedMap(Map)

交互式爱情 2019-07-05 16:32:28
ConcurrentHashMap和Collection s.SynizedMap(Map)之间有什么区别?我有一个Map,它将被多个线程并发修改。JavaAPI中似乎有三种不同的同步Map实现:HashtableCollections.synchronizedMap(Map)ConcurrentHashMap据我所知,Hashtable是一个旧的实现(扩展过时的Dictionary类),该类已在以后进行了调整,以适应Map接口。当它是同步的,看起来很严肃可伸缩性问题对于新的项目是不鼓励的。但另外两个呢?返回的地图之间有什么区别?Collections.synchronizedMap(Map)和ConcurrentHashMap是吗?哪一种适合哪种情况?
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

╔═══════════════╦═══════════════════╦═══════════════════╦═════════════════════╗

║   Property    ║     HashMap       ║    Hashtable      ║  ConcurrentHashMap  ║

╠═══════════════╬═══════════════════╬═══════════════════╩═════════════════════╣ 

║      Null     ║     allowed       ║              not allowed                ║

║  values/keys  ║                   ║                                         ║

╠═══════════════╬═══════════════════╬═════════════════════════════════════════╣

║Is thread-safe ║       no          ║                  yes                    ║

╠═══════════════╬═══════════════════╬═══════════════════╦═════════════════════╣

║     Lock      ║       not         ║ locks the whole   ║ locks the portion   ║        

║  mechanism    ║    applicable     ║       map         ║                     ║ 

╠═══════════════╬═══════════════════╩═══════════════════╬═════════════════════╣

║   Iterator    ║               fail-fast               ║ weakly consistent   ║ 

╚═══════════════╩═══════════════════════════════════════╩═════════════════════╝

关于锁定机制:Hashtable 锁定对象,同时ConcurrentHashMap只有水桶.


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 651 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号