码迷,mamicode.com
首页 > 其他好文 > 详细

HashMap、HashTable、ConcurrentHashMap区别

时间:2018-03-19 16:42:19      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:线程安全   pos   同步机制   参考资料   .net   安全   str   tail   链表   

  • 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区别

标签:线程安全   pos   同步机制   参考资料   .net   安全   str   tail   链表   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!