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等常用操作只锁当前需要用到的桶

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/14/java-map-datastructure/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Java Map数据结构总结
Hashtable 和 HashMap 的区别 Hashtable和HashMap都实现Map接口,但是Hashtable的实现是基于Dictionary抽象类 在HashMap中,null可以作为key或value;而在Has……
<<上一篇
下一篇>>
文章目录
关闭
目 录