- 0
- 0
- 约8.09千字
- 约 23页
- 2026-02-12 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件开发面试高频考点与解析
一、编程语言基础(10题,每题10分)
1.题目:
请解释Java中的`volatile`关键字的作用,并说明它与`synchronized`的区别。
答案:
`volatile`关键字在Java中用于确保变量的可见性和禁止指令重排序,但不保证原子性。具体作用如下:
1.可见性:当一个线程修改了volatile变量的值,其他线程能够立即看到这个修改,因为volatile变量会强制刷新缓存。
2.禁止指令重排序:volatile变量的读写操作不会被编译器或处理器重排序,确保代码执行的顺序。
与`synchronized`的区别:
-性能:`volatile`比`synchronized`轻量级,不会导致线程阻塞,适用于高并发场景下的状态标记(如`flag`变量)。
-原子性:`volatile`只能保证单个变量读写的原子性,而`synchronized`可以保证复合操作的原子性(如`i++`)。
-适用场景:`volatile`适用于读多写少的场景,`synchronized`适用于写多且需要保护数据一致性的场景。
解析:
Java内存模型(JMM)保证了变量的可见性和有序性,`volatile`通过内存屏障实现这些保证。`synchronized`通过锁机制实现,开销更大但功能更全面。
您可能关注的文档
最近下载
- 董氏针灸配穴处系统.doc VIP
- 杜邦TM特卫强Tyvek.PDF VIP
- 【国开答案】国开电大专科《建筑施工技术》在线形考(形考任务3)试题.docx VIP
- 画法几何及机械制图习题册参考 答案.ppt VIP
- (高清版)ZT 0289-2015 区域生态地球化学评价规范.pdf VIP
- CN115498185B 废旧石墨负极材料的再生方法 (广西宸宇新材料有限公司).pdf VIP
- 初中数学教学论文初中数教学论文.doc VIP
- 基于深度展开复网络的稀疏SAR学习成像方法、装置及介质.pdf VIP
- 公寓床、课桌椅及办公家具采购项目的供货方案.doc VIP
- 四方债权债务抵账协议.docx VIP
原创力文档

文档评论(0)