1. 版本差异理解:面试官不仅仅是想知道 "用了锁" 这个结论,更是想知道你是否了解 JDK 1.7(分段锁)和 JDK 1.8(CAS + synchronized)两种截然不同的实现方式。
more...
1. 版本差异理解:面试官不仅仅是想知道 "用了锁" 这个结论,更是想知道你是否了解 JDK 1.7(分段锁)和 JDK 1.8(CAS + synchronized)两种截然不同的实现方式。
more...
1. 异常处理经验:面试官不仅仅是想知道这两个概念的定义,更是想知道你是否遇到过 ConcurrentModificationException,以及是否理解它的产生原因。
more...
1. 底层实现理解:面试官不仅仅是想知道 "Set 不重复" 这个结论,更是想知道你是否了解 HashSet 底层是用 HashMap 实现的这一经典设计。
more...
1. 源码掌握:面试官不仅仅是想知道 "有个 hash 方法" 这个事实,更是想知道你是否读过源码,是否理解 (h = key.hashCode()) ^ (h >>> 16) 这行代码的精妙之处。
more...
1. 核心操作理解:面试官不仅仅是想知道 "put 存数据、get 取数据" 这个表面行为,更是想知道你是否理解底层的数据结构操作,包括哈希计算、桶定位、冲突处理、链表/红黑树遍历等。
more...
1. 源码理解深度:面试官不仅仅是想知道 "调用 remove 删除元素" 这个表面行为,更是想知道你是否理解底层的删除逻辑,包括链表节点删除、红黑树节点删除、以及退树化条件。
more...
1. 线程安全意识:面试官不仅仅是想知道 "HashMap 不安全" 这个结论,更是想知道你是否理解具体的并发问题类型(死循环、数据丢失、脏读等),以及这些问题在不同 JDK 版本中的差异。
more...
1. 性能优化意识:面试官不仅仅是想知道 "用了红黑树" 这个事实,更是想知道你是否理解链表查询 O(n) 的性能瓶颈,以及红黑树 O(log n) 的优化意义。
more...
1. 设计理解深度:面试官不仅仅是想知道 "0.75" 这个数字,更是想知道你是否理解这个数值背后时间和空间的权衡思想,以及 Hash 冲突概率与负载因子的关系。
more...