请详细讲解 Java 中 synchronized 锁的底层实现原理,并对比它和 ReentrantLock 在功能与适用场景上的差异。
考察说明
考察对 synchronized 底层机制的理解以及与 ReentrantLock 的对比能力
回答思路
- 能说明 synchronized 基于监视器锁、偏向锁、轻量级锁、重量级锁的升级过程
- 能解释自旋、锁消除、锁粗化等 JVM 优化
- 能清晰对比可中断、超时、公平性、条件变量等 ReentrantLock 特性
- 能结合场景说明如何选择
考察对 synchronized 底层机制的理解以及与 ReentrantLock 的对比能力