保存成功
订阅成功
保存失败,请重试
提交成功

Java 并发面试系列二:彻底掌握 volatile 关键字原理

¥2.99会员免费看
Swagger

volatile 关键字在互联网面试中出现频的率非常高,除了 volatile 关键字在日常开发中使用较多之外,另一个主要原因是它使用足够简单,并且它的原理足够复杂,面试官很喜欢以 volatile 关键字作为切入点来考察并发问题。

volatile 关键字背后原理远没有它看起来那样”简单轻量“,因为其背后涉及到 JVM 的实现及操作系统的知识,这些包括 Java 内存模型(JMM)、重排序、可见性、内存屏障、高速缓存、缓存一致性、CPU缓存体系、硬件缓冲区、as-if-serial 语义、happens-before 规则等,只有将这里的每一项都清晰的理解,才能真正的理解volatie关键字。将上述这些完全掌握绝非易事,而那些真正掌握 volatile 关键字原理的人则会在面试中更受青睐。本 Chat 作为《Java 并发面试系列》第二章,会逐步剖析讲解 volatile 关键字的底层原理,让你彻底理解和掌握 volatile 关键字。

在 Chat 中你将学习到:

  • 什么是 volatile 关键字
  • 什么是线程可见性
  • 理解 CPU 缓存体系及缓存一致性协议
  • 写缓冲和无效化队列与可见性的关系
  • 什么是重排序,重排序出现的原因
  • DCL 单例模式有什么问题,为什么要用 volatile
  • 如何理解内存屏障
  • 如何理解 Java 内存模型
  • as-if-serial 语义及 happens-before 规则如何理解
  • Volatile 是如何保证可见性和重排序的
  • Volatile 的原子性问题
  • Volatile 用在哪个地方或哪些场景
141 人已订阅
会员免费看
¥2.99 原价订阅
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效
严选标准
知道了
Chat 状态详情
开始预订
预订结果公布20.11.11

预订达标,作者开始写作

审核未达标,本场 Chat 终止

作者文章审核结果公布20.11.27

审核达标,文章发布

审核未达标,本场 Chat 终止

Chat 完结
×
已购列表