首页 > 其他 > 详细

HashMap、HashTable、ConcurrentHashMap区别

时间:2018-03-19 16:24:41      阅读:170      评论:0      收藏:0      [点我收藏+]
  • HashMap与HashTable区别
  • HashMap与ConcurrentHashMap区别

1.HashMap与HashTable的区别

  • HashMap线程不安全,HashTable线程安全
  • HashMap和HashTable都是采用数组和链表的方式存储数据
  • HashMap允许键和值都为空,HashTable则不行
  • HashTable采用同步机制,用sychronized锁住整个对象,当并发量大时性能极具下降,因此HashTable性能不如HashMap
  • HashMap扩容时采用capcity*2,而HashTable则是capcity+1,HashMap采用hash法和位运算取散列值,更均匀
  • HashTable已淘汰

2.HashMap与ConcurrentHashMap区别

  • ConcurrentHashMap采用分割技术(Segment),把一个大的Map分割成N个HashTable,在对每个Segment用lock锁,只是锁定Map一部分,因此性能好
  • HashMap键值允许为空,而ConcurrentHashMap都不允许为空

参考资料:http://blog.csdn.net/seu_calvin/article/details/52653711

HashMap、HashTable、ConcurrentHashMap区别

原文:https://www.cnblogs.com/ierha/p/8602363.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!