Java Map数据结构总结

Hashtable 和 HashMap 的区别

  • HashtableHashMap都实现Map接口,但是Hashtable的实现是基于Dictionary抽象类
  • HashMap中,null可以作为key或value;而在Hashtable中,无论是key还是value都不能为null
  • Hashtable是线程安全的,HashMap则不是线程安全的

Map数据结构线程安全总结

  • HashMap:线程不安全
  • Hashtable:线程安全,一次锁住整个hash表
  • SynchronizedMap:部分线程安全,方法加锁,方法组合使用需手动加锁
  • ConcurrentHashMap:线程安全,分段锁。ConcurrentHashMap一次锁住一个Segment(桶)。ConcurrentHashMap默认将hash表分为16个桶,诸如get,put,remove等常用操作只锁当前需要用到的桶
上一篇 Java实现DESede对称加解密
下一篇 SynchronizedMap和ConcurrentHashMap之同步方式比较
目录
文章列表
1 注解 @AutoConfigureBefore 和 @AutoConfigureAfter 的用途
注解 @AutoConfigureBefore 和 @AutoConfigureAfter 的用途
2
CentOS下RocketMQ安装部署
CentOS下RocketMQ安装部署
3
fastjson可正常反序列化字符串null
fastjson可正常反序列化字符串null
4
深度学习基础:线性代数(2)_奇异值分解及numpy、scipy实现
深度学习基础:线性代数(2)_奇异值分解及numpy、scipy实现
5
Spring Boot 基于DeferredResult的异步服务
Spring Boot 基于DeferredResult的异步服务
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。