- 2
- 0
- 约3.42千字
- 约 10页
- 2026-06-08 发布于河北
- 举报
Java锁高频面试题及详细答案
一、基础概念类
1.什么是Java锁?为什么需要锁?
答案:Java锁是并发编程中用于控制多线程访问共享资源的机制,本质是通过“互斥性”保证同一时间只有一个线程能执行临界区代码,避免出现数据不一致(如脏读、幻读、不可重复读)或线程安全问题(如并发修改异常)。
需要锁的核心原因是:多线程并发访问共享资源时,CPU调度的“抢占式执行”会导致指令执行顺序混乱,比如两个线程同时修改同一个变量,可能出现“写覆盖”问题(例:线程A读值为1,线程B也读值为1,A写2,B写3,最终结果为3,丢失A的修改)。锁通过强制线程排队执行临界区代码,保证操作的原子性、可见性和有序性。
2.乐观锁和悲观锁的区别?实际应用场景有哪些?
答案:两者核心区别在于对“线程冲突”的假设不同:
• 悲观锁:假设线程一定会冲突,先加锁再执行,阻塞其他竞争线程。核心是“防冲突”,牺牲并发效率换安全性。
应用场景:并发写入频繁、临界区代码复杂(执行时间长),比如Synchronized、ReentrantLock、数据库行锁。
• 乐观锁:假设线程很少冲突,先执行再校验,通过版本号/CAS机制判断是否冲突,冲突则重试。核心是“赌不冲突”,牺牲少量重试成本换并发效率。
应用场景:读多写少、并发写入少,比如AtomicInteger
您可能关注的文档
- Java安全试题及详细答案.docx
- Java宝尊电商面试题及详细答案.docx
- Java编程基础试题及详细答案.docx
- Java编译日志面试题及详细答案(实战向).docx
- Java并发编程笔试面试试题(含详细答案).docx
- Java并发编程综合试题及详细答案.docx
- Java测试笔试题及详细答案.docx
- Java常见面试题及详细答案.docx
- Java常问面试题及详细答案.docx
- Java常用考试题及详细答案.docx
- 20260610_计算机行业周报:CPU有望迎来价值重估计算机行业“一周解码”.pdf
- 2026年中国船舶行业市场白皮书-格物致胜.pdf
- 2026科技業人才白皮書-企業版.pdf
- 20260610_人形机器人周报:英伟达联手宇树、Sharpa打造参考人形机器人,千寻智能获15亿融资.pdf
- 河南省连锁经营协会:2026年河南省连锁产业发展报告.pdf
- 20260610_深耕精密光学,半导体领域空间广阔.pdf
- 20260610_化工行业周报:27年制冷剂配额总体维稳,制冷剂、硫磺、高含氢硅油价格涨幅居前.pdf
- 20260610_扬帆出海,境外业务领先的期货公司.pdf
- 20260610_硫酸行业:霍尔木兹海峡持续封锁 硫磺产业链高景气.pdf
- 在学校行政工作例会上校长讲话:跳出老办法,用新方式整治学生上课睡觉现象.docx
最近下载
- 2026山东省高考物理真题试卷+参考答案.docx VIP
- 版新编齿轮传动设计手册.doc VIP
- 牛头刨床机械原理课程设计点和点.doc VIP
- 2023-2024学年北京市朝阳区七年级(下)期末数学试卷.pdf VIP
- 上海海事 结构力学 (交工、港航专业) 期末考试试卷 含答案.pdf VIP
- 肿瘤化疗药物常见的不良反应及护理措施ppt课件.pptx VIP
- 《6.2.2-直线的点斜式方程与斜截式方程》学历案-中职数学高教版21基础模块下册.docx VIP
- 广东省房屋建筑与装饰工程综合定额(2018年).pdf VIP
- 2022年中考作文指导:《我为____点赞》课件(共30张PPT).pptx VIP
- 实验动物从业人员考试试题库.docx VIP
原创力文档

文档评论(0)