后端岗位面试题更新 2026-08-05

请解释 synchronized 的底层实现原理,并说明它与 Lock 接口的主要区别。

中国移动研究院后端开发通信/运营商技术原理方案权衡Java

考察说明

考察并发同步机制的理解深度、对比分析能力

回答思路

  1. 能说明 synchronized 基于对象头的 Monitor 实现,涉及偏向锁、轻量级锁、重量级锁的升级路径
  2. 能讲清 Monitor 的 wait/notify 机制与锁的语义
  3. 能从锁的获取方式、可中断性、公平性、超时、锁粒度(代码块 vs 显式加解锁)等维度对比 Lock
  4. 能提到优化点如锁消除、锁粗化、自适应自旋
  5. 能结合实际场景说明如何选择 synchronized 或 Lock