酷狗音乐后端技术面试题解析.docxVIP

  • 7
  • 0
  • 约7.76千字
  • 约 22页
  • 2026-03-17 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年酷狗音乐后端技术面试题解析

一、Java基础与并发编程(5题,共25分)

1.题目(5分):

Java中的`volatile`关键字有什么作用?它与`synchronized`有什么区别?在哪些场景下优先使用`volatile`?

答案与解析:

`volatile`关键字主要用于确保变量在多个线程间的可见性和禁止指令重排序,但不保证原子性。具体作用包括:

1.可见性:当一个线程修改了`volatile`变量后,其他线程立即能看到最新值,而普通变量可能因为线程缓存导致延迟更新。

2.禁止指令重排序:`volatile`修饰的变量会强制刷新缓存,确保指令执行顺序与代码逻辑一致。

与`synchronized`的区别:

-性能:`volatile`比`synchronized`轻量级,通过内存屏障实现,开销小;`synchronized`依赖锁机制,可能引发线程阻塞。

-原子性:`volatile`仅保证单个变量的读写原子性;`synchronized`可保证复合操作(如`i++`)的原子性。

使用场景:

-状态标志:如`volatilebooleanflag=true;`用于优雅停机场景。

-轻量级共享变量:如计数器、状态标志等。

-禁止重排序:如CAS操作中的共享变量。

2.题目(5分):

解释Jav

文档评论(0)

1亿VIP精品文档

相关文档