后端答题框架平安银行银行科技平安银行 平安银行(一面)
synchronized和reentrantlock的区别是什么?
synchronized 是 JVM 内置锁,语法简单,自动释放;ReentrantLock 是显式锁,支持可中断、超时、公平锁和多个 Condition。 底层可以从对象头、Monitor、锁升级,以及 AQS 队列同步器两个方向展开。
面试后端互联网公司面经银行科技平安银行
答题框架
当前只提供答题框架,不代表已经完成事实与工程边界复核。
这题可以按「结论 -> 原理 -> 场景 -> 风险」来答,重点放在后端工程里的可落地理解。
答题要点:
1. synchronized 是 JVM 内置锁,语法简单,自动释放;ReentrantLock 是显式锁,支持可中断、超时、公平锁和多个 Condition。
2. 底层可以从对象头、Monitor、锁升级,以及 AQS 队列同步器两个方向展开。
3. 选择上,普通互斥优先 synchronized;需要复杂等待通知、超时或公平性时使用 ReentrantLock。
容易被追问:
- AQS 的 state 和队列分别做什么?
- 锁升级过程是什么?
注意事项:
- 手写 Lock 必须在 finally 释放。
- 不要只背区别,要结合业务场景选择。
答题练习
- 1synchronized 是 JVM 内置锁,语法简单,自动释放;ReentrantLock 是显式锁,支持可中断、超时、公平锁和多个 Condition。
- 2底层可以从对象头、Monitor、锁升级,以及 AQS 队列同步器两个方向展开。
- 3选择上,普通互斥优先 synchronized;需要复杂等待通知、超时或公平性时使用 ReentrantLock。
常见错误
- 手写 Lock 必须在 finally 释放。
- 不要只背区别,要结合业务场景选择。
可能追问
- AQS 的 state 和队列分别做什么?
- 锁升级过程是什么?
来源记录
- 原始来源
- 小林coding
- 来源页面
- 平安银行 Java 面试
- 最近收录
- 2026-07-05
- 官方复核
- 平安银行 Java 面试、平安银行(一面)、synchronized的底层原理是什么?、synchronized和reentrantlock的区别是什么?、线程的状态有哪些?、sleep和wait的区别?、讲讲java的线程池工作原理?、线程池的参数有哪些?、线程池的submit和execute有什么区别?、Spring IOC的初始化过程是怎样的?、beanFactory和ApplicationContext的区别?、Redis分布式锁的问题,锁过期应该怎么解决?