HashMap:线程不安全;key值可以为null;底层的实现是数组+链表/红黑树(同一个桶上面链的长度大于8时转化为红黑树);
HashTable:线程安全,当有线程访问时,使用synchronized将整个表进行独占,效率较低;key值不可以为null;底层实现是数组+链表;
concurrentHashMap:线程安全,采用CAS和synchronized操作,每个线程只对访问数据的桶进行加锁,提高了并发效率;key值不能为null;底层的实现是数组+链表/红黑树。
最后
以上就是彩色帅哥最近收集整理的关于【面试题】HashMap,HashTable和concurrentHashMap的区别的全部内容,更多相关【面试题】HashMap,HashTable和concurrentHashMap内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复