后端开发工程师面试题及Java面试含答案.docxVIP

  • 1
  • 0
  • 约5.32千字
  • 约 13页
  • 2026-10-17 发布于福建
  • 举报

后端开发工程师面试题及Java面试含答案.docx

第PAGE页共NUMPAGES页

2026年后端开发工程师面试题及Java面试含答案

一、Java基础(共5题,每题8分)

1.请解释Java中的`volatile`关键字的作用,并说明它与`synchronized`的区别。

答案:

`volatile`关键字确保变量的可见性和有序性,但不保证原子性。

-可见性:当一个线程修改了`volatile`变量,其他线程能够立即看到最新值。

-有序性:禁止指令重排,保证代码执行顺序与程序顺序一致。

-不保证原子性:如`volatileinta=1;a++;`仍然存在线程安全问题。

`synchronized`:

-互斥性:确保同一时间只有一个线程执行同步代码块。

-可见性:释放锁时,线程内共享变量对其他线程可见。

-原子性:保证被同步代码块内的操作是原子的。

区别:

|特性|`volatile`|`synchronized`|

|||-|

|性能|高(轻量级)|较低(重量级)|

|适用场景|单变量读写|复杂操作(如计数器)|

|原子性|否|是|

解析:`volatile`适用于无状态设计,如单例模式中的静态变量;`sy

文档评论(0)

1亿VIP精品文档

相关文档