- 1
- 0
- 约1.1万字
- 约 10页
- 2026-06-06 发布于河北
- 举报
阿里巴巴Java面试题及详细答案(真实面经版)
一、Java基础(一面必问,侧重基础落地)
1.说说synchronized与Lock的区别,实际开发中怎么选?
答案:核心区别就3点,结合实际使用场景说更清楚,不搞虚的:
1.锁的特性:synchronized是JVM原生的,自动释放锁(无论正常执行还是抛异常),不用手动关;Lock是JavaAPI层面的(如ReentrantLock),必须手动调用unlock(),一般放finally里,不然会造成死锁。
2.灵活性:synchronized是不可中断、非公平锁(默认),不能尝试获取锁;Lock可以中断(lockInterruptibly())、可以尝试获取锁(tryLock()),还能指定公平/非公平锁,灵活性更高。
3.性能:JDK1.6之后synchronized做了优化(偏向锁、轻量级锁、锁升级),性能和Lock差距不大;但高并发场景下,Lock的tryLock()能避免线程长时间阻塞,比synchronized更合适。
实际选型:简单场景(如单例、简单方法同步)用synchronized,代码简洁不易出错;高并发、需要灵活控制锁(如超时获取、中断)的场景(如订单接口、库存扣减),用ReentrantLock。另外,读多写少的场景,用ReadWriteLock(ReentrantReadWriteLock),比
您可能关注的文档
最近下载
- 2022学年江苏省南京师大附中物理高二下期末经典试题含解析.doc VIP
- 发酵工艺原理-发酵工艺的控制.ppt VIP
- 大学英语六级模拟测试题model-text06(含答案解析).pdf VIP
- 2026河北省水利工程局集团有限公司校园招聘97人笔试备考试题及答案解析.docx VIP
- 2026年贵州六盘水市初二学业水平地理生物会考考试真题及答案.docx VIP
- 外墙面喷刷涂料施工方案.docx VIP
- 广州数控GSK928TD 车床数控系统 使用手册.pdf
- 新解读《HG_T 3690-2022工业用钢骨架聚乙烯塑料复合管》最新解读.docx VIP
- 2026河北省水利工程局集团有限公司校园招聘97人考试备考题库及答案详解.docx VIP
- 天津市红桥区2024-2025学年八年级下学期期末物理试题(含答案).pdf VIP
原创力文档

文档评论(0)