程序员面试题精讲与答案速查.docxVIP

  • 2
  • 0
  • 约8.64千字
  • 约 22页
  • 2026-10-21 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年程序员面试题精讲与答案速查

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

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

答案:`volatile`关键字在Java中用于确保变量的可见性和有序性。当一个变量被声明为`volatile`时,每次读取该变量时都会从主内存中读取最新值,每次写入该变量时都会立即将新值刷新到主内存。这可以避免指令重排序,但无法保证复合操作(如`i++`)的原子性。

`synchronized`关键字则提供了互斥和内存可见性。当一个方法或代码块被`synchronized`修饰时,同一时刻只能有一个线程进入。它不仅保证内存可见性,还保证复合操作的原子性,但性能开销比`volatile`大。

解析:`volatile`适用于对单一变量的读-写操作,而`synchronized`适用于需要复合操作的同步场景。`volatile`不能替代锁,而`synchronized`可以替代`volatile`的部分功能,但反之不行。

2.题目:请描述Java中的垃圾回收机制,并说明常见的垃圾回收器类型及其特点。

答案:Java的垃圾回收(GC)机制通过自动管理内存来释放不再使用的对象。主要分为标记-清除、复制、标记-整理三种基本算法。

常见的垃圾回收

文档评论(0)

1亿VIP精品文档

相关文档