9.1 Java基础
9.1.1 volatile的概述和原理
在Java中volatile是一个防止指令重排以及保证可见性的关键字。
如果我们将变量声明为volatile,那么就指示JVM这个变量共享且不稳定,每次从主存中进行读取。AQS的status就是使用volatile修饰的。
借用Guide哥的图片:
如果将变量声明为volatile,再对这个变量进行读写操作时,通过插入特定的内存屏障来禁止指令重排。
9.1.2 HashMap的get方法和put方法源码
9.2 MySQL
9.3 Spring
9.4 Redis