String的不变性如何理解- 实现
String的equals方法 StringBuilder和StringBuffer,哪个是线程安全的,如何实现线程安全的?Long和Integer的缓冲机制- 自动拆箱/自动装箱
volatile修饰有什么用- 反射
HashMap的源码实现(1.7/1.8都要看,差别比较)HashMap的put方法、扩容方法HashMap的初始容量为什么要是2的幂?HashMap如何解决哈希冲突?ConcunrrentHashMap的源码实现(1.7/1.8都要看,同时要跟HashMap比较)- 快速失败/安全失败
ArrayList的源码分析,重要方法的实现步骤LinkedList的源码分析,重要方法的实现步骤
- 乐观锁与悲观锁的区别
Java中如何实现乐观锁/悲观锁?CAS实现ABA问题如何解决?AQSCountDownLatch、CyclicBarrier、SemaphoreThreadLocalReentrantLock底层实现synchronized原理- 锁优化
- 如何实现一个线程池?(也就是线程池底层是如何实现的)
- 核心线程数、最大线程数的区别
- 线程池的拒绝策略
JAVA运行时数据区如何划分?- 双亲委派模型
- 类加载机制
- 垃圾回收算法有哪些?
- 垃圾回收器有哪些?
IOC、AOP原理Bean的创建方式、生命周期- Spring 框架中用到了哪些设计模式
- 事务的实现方式和实现原理
CAP原理和BASE理论- 分布式一致性算法(
Raft、Paxos等) - 分布式事务
- 本地消息表
- 分布式锁