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 Homestead注意问题
Homestead注意问题
2
RocketMQ生产者Producer发送消息的三种方式
RocketMQ生产者Producer发送消息的三种方式
3
解决Jenkins安装完成后显示空白页面
解决Jenkins安装完成后显示空白页面
4
Flutter Widget之Row
Flutter Widget之Row
5
Nacos读取配置到Map数据结构
Nacos读取配置到Map数据结构
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。