请解释Java中synchronized关键字的作用、底层实现原理,并说明其与volatile、乐观锁(如ReentrantLock)的适用场景差异。
考察说明
考察Java并发同步基础、锁的底层机制及锁选型能力
回答思路
- 明确synchronized的互斥与可见性作用,以及锁对象选择
- 说明底层通过Monitor(进入/退出monitor)实现,以及偏向锁、轻量级锁、重量级锁的升级流程
- 对比synchronized与volatile、ReentrantLock在性能、可中断性、公平性、灵活性上的差异
- 能结合具体场景(如读多写少、高竞争)给出合理选型建议
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。