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

Java 中常用的锁有哪些?请从乐观锁和悲观锁出发,举具体例子并说明它们的区别。

喜马拉雅后端开发互联网/IT技术原理方案权衡Java

考察说明

考察对 Java 并发锁机制的理解,包括乐观锁与悲观锁的典型实现、适用场景及区别

回答思路

  1. 明确乐观锁与悲观锁的核心思想:乐观锁假设冲突少,悲观锁假设冲突多
  2. 举例说明悲观锁实现如 synchronized、ReentrantLock,乐观锁如 CAS、AtomicInteger
  3. 说明乐观锁需结合版本号或 CAS 处理冲突,悲观锁通过阻塞互斥保证一致性
  4. 对比适用场景:高并发写少用乐观锁,写竞争激烈用悲观锁
  5. 提及乐观锁存在的问题如 ABA、自旋开销,悲观锁如阻塞开销、死锁
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。