BAT高频面试题及详细答案(Java_后端方向).docx

BAT高频面试题及详细答案(Java_后端方向).docx

BAT高频面试题及详细答案(Java/后端方向)

一、Java基础核心题(考察基本功扎实度)

1.说说HashMap和ConcurrentHashMap的区别,以及HashMap在JDK1.7和1.8的变化

答案:

首先核心区别集中在线程安全、底层实现、性能三点:

• HashMap:非线程安全,多线程下扩容会有环形链表死锁(JDK1.7),1.8修复死锁但仍有数据覆盖问题;底层是“数组+链表”(1.7),1.8优化为“数组+链表+红黑树”(链表长度≥8且数组容量≥64时转红黑树,查询复杂度从O(n)降为O(logn))。

• Conc

文档评论(0)

1亿VIP精品文档

相关文档