- 1
- 0
- 约1.13万字
- 约 13页
- 2026-05-06 发布于河北
- 举报
IT大公司面试题及详细答案
一、Java方向(阿里/腾讯/字节高频)
1.面试题:HashMap和ConcurrentHashMap的区别,为什么ConcurrentHashMap线程安全,JDK1.8做了哪些优化?
详细答案:
核心区别主要在线程安全、性能、底层实现三个方面,没有花里胡哨的理论,全是实际开发和面试必问的点:
①线程安全:HashMap完全线程不安全,多线程下put、resize时会出现死循环(JDK1.7)、数据覆盖问题;ConcurrentHashMap是线程安全的,不会出现上述问题,可用于多线程场景。
②性能:HashMap无锁,单线程下性能最优;ConcurrentHashMap有锁,但锁粒度做了优化,性能比传统的Hashtable(全表锁)高很多,多线程下效率远超Hashtable。
③底层实现及JDK1.8优化:
-HashMap:JDK1.7是“数组+链表”,JDK1.8引入红黑树(当链表长度超过8,数组长度≥64时,链表转为红黑树;长度小于6时,红黑树转回链表),目的是解决链表过长导致的查询效率低(O(n)→O(logn))。
-ConcurrentHashMap:JDK1.7用“分段锁(Segment)”,把数组分成多个Segment,每个Segment对应一把锁,多个线程操作不同Segment时互不干扰,锁粒
您可能关注的文档
- Excel期末考试题及详细答案.docx
- e人特质测试题(含详细答案).docx
- F5笔试题目及详细答案.docx
- FESCO面试题目及详细答案.docx
- FMEA试题及详细答案.docx
- FPGA试题及详细答案.docx
- F本(轻便摩托车驾驶证)考试题及详细答案.docx
- F证(轻便摩托车驾驶证)考试题目及详细答案.docx
- GIS面试题及详细答案.docx
- GMP培训试题及答案(含详细解析).docx
- 小学三年级英语下册 Unit 6 Cartoon Time 第一课时教学设计(译林版).docx
- Unit3DiverseCulturesListeningandspeaking课件高中英语人教版(2).pptx
- 小学六年级语文下册《真理诞生于一百个问号之后》第一课时教案.docx
- Unit1ScienceFictionReviewusefulstructures课件高中英语人教版(2019)选择性(1).pptx
- 初中历史八年级下册《新时期的外交》精品教案.docx
- 初中七年级英语下册Unit 7 Outdoor Fun词汇深度学习导学案.docx
- 初中九年级音乐下册《梁山伯与祝英台》之“十八相送”唱段精品教案.docx
- 人教版(2012)九年级中考英语主谓一致课件.pptx
- Unit4MyfriendsLesson3课件冀教版七年级英语下册_2.pptx
- Unit8SectionAGrammar课件人教版英语七年级下册(1).pptx
原创力文档

文档评论(0)