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

synchronized 修饰代码块或非静态方法时,获取的是对象锁还是调用者所持有实例的锁?请说明区别。

安克创新 Anker后端开发电子/半导体技术原理

考察说明

考察面试者对 synchronized 加锁粒度与对象锁概念的理解

回答思路

  1. 明确 synchronized 代码块依赖传入对象作为锁
  2. 明确非静态方法默认使用当前实例 this 作为锁
  3. 对比静态方法使用 Class 对象作为锁
  4. 区分锁的对象与调用者所持有实例的关系
本题已收录答题指导

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

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