面试真题

Java · 中等 · 搜狐

Java常用集合 HashMap和ConcurrentMap区别

中等 Java 🎤 搜狐
参考答案
结论:HashMap线程不安全,ConcurrentHashMap线程安全,机制与性能不同。HashMap基于数组+链表/红黑树,无同步,多线程下数据覆盖或死循环;ConcurrentHashMap在JDK7用分段锁,JDK8用CAS+synchronized锁桶头,粒度细;HashMap允许null键值,ConcurrentHashMap不允许;HashMap迭代fail-fast,后者弱一致。单线程用HashMap,高并发用ConcurrentHashMap。
题目整理自公开面经,答案由校招宝自研生成,仅供参考