请介绍 synchronized 的 lock() 与 ReentrantLock 的实现原理,以及你在项目中是否使用过它们。
考察说明
考察 Java 并发锁的底层原理掌握与实际应用经验
回答思路
- 能清晰阐述 synchronized 的锁升级流程(无锁、偏向锁、轻量级锁、重量级锁)及其实现机制
- 能说明 ReentrantLock 基于 AQS(AbstractQueuedSynchronizer)的实现原理,包括状态管理、等待队列、可重入性
- 能对比两者在原理上的差异与适用场景
- 能结合具体项目说明使用场景与选择理由,而不是泛泛而谈
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。