Search Results for: Non volatile storage devices
本博客重点导读 工作内存与主内存的数据交换的细节 指令重排序与内存屏障 volatile、final、锁的内存语义 as-if-serial、happens-before 进入细节 主内存与工作内存交互协议 jmm定义了 种基本操作来完成,主内存、工作内存和执行引擎之间的交互,分别是lock、unlock、read、load、use、assign、store、write,虚拟机的实现向程序员保证每一种操作都是原子的,不可分割,对于double和long类型的 为变量不做保证。了解了这些,有助于帮我们理解内存屏障。 别看有 个操作,实际上是成对定义的连贯操作。我们具体来看怎么记忆。
总共 类 ·loadload:前面的load会先于后面的load装载 ·storestore:前面的store会先于后面的store执行,也就是保证内存可见性 ·loadstore:前面的load先于后面的store执行 ·storeload:前面的store先于后面的load执行 接下来分别看volatile、final、锁,都有哪些内存语义,加了哪些内存屏障。 volatile ·对volatile变量的写操作,前面插入storestore屏障,防止和上面的写发生重排序;后面插入storeload屏障,防止和后面的读写发生重排序。...
http://tech.it168.com/a2018/0709/3213/000003213578.shtml