Synchronized的实现原理,修饰普通私有方法和静态方法有什么区别?
考察说明
考察Java并发同步机制的理解及synchronized在不同修饰对象上的锁粒度差异
回答思路
- 解释synchronized基于对象监视器(Monitor)的实现原理及字节码层面monitorenter/monitorexit
- 说明修饰普通方法时锁对象为当前实例,修饰静态方法时锁对象为类对象
- 区分不同方法间锁的作用范围与互斥关系,例如两个普通方法互斥、实例与静态方法不互斥
- 提及锁的升级过程(偏向锁、轻量级锁、重量级锁)及对性能的影响
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。