- 1
- 0
- 约6.15千字
- 约 19页
- 2026-10-19 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员编程面试题库含答案
一、Java基础(共5题,每题10分)
1.题目:
Java中`volatile`关键字的作用是什么?它与`synchronized`有什么区别?
答案与解析:
`volatile`关键字的主要作用是确保变量的可见性和禁止指令重排序,但不会提供原子性。具体来说:
-可见性:当一个线程修改了`volatile`变量时,其他线程能够立即看到这个修改,因为`volatile`会强制将修改刷新到主内存中。
-禁止指令重排序:编译器和处理器不会对`volatile`变量所在的代码进行重排序,保证其在代码中的顺序执行。
与`synchronized`的区别:
-性能:`volatile`比`synchronized`轻量级,因为它只保证了可见性和禁止重排序,没有实现互斥锁的功能。
-适用场景:`volatile`适用于读多写少的场景,而`synchronized`适用于写操作频繁的场景。
2.题目:
解释Java中的`StringBuilder`和`StringBuffer`的区别,并说明为什么在多线程环境下推荐使用`StringBuffer`?
答案与解析:
`StringBuilder`和`StringBuffer`都是可变字符串类,但主要区别在于线程安全性:
-`StringBuilder`
原创力文档

文档评论(0)