2026年应届大学生技术面试题集.docxVIP

  • 1
  • 0
  • 约3.94千字
  • 约 12页
  • 2026-10-07 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年应届大学生技术面试题集

1.编程语言基础(3题,每题10分,共30分)

1.1题目:

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

答案与解析:

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

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

-有序性:禁止指令重排序,保证volatile变量前后的操作按照代码顺序执行。

-不保证原子性:例如,`volatileinta=0;a++;`这行代码不是原子操作,因为自增操作涉及读取、计算、写入三个步骤。

`synchronized`关键字提供原子性、可见性和有序性,但性能开销较大。

-原子性:保证被synchronized修饰的代码块在同一时刻只能被一个线程执行。

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

-有序性:禁止指令重排序。

-性能开销:涉及线程状态切换和锁竞争,适用于复杂场景。

区别总结:

-`volatile`轻量级,仅保证可见性和有序性,不保证原子性;

-`synchronized`重量级,保证原子性、可见性和有序性,但性能较差。

1.2题目:

C++中,`const`关键字可以用于哪些地方?请

文档评论(0)

1亿VIP精品文档

相关文档