#Java#互联网大厂面试必问的Java内存模型以及并发编程( 六 )


  • StoreLoad 屏障:对于这样的语句Store1; StoreLoad; Load2 , 在Load2及后续所有读取操作执行前 , 保证Store1的写入对所有处理器可见 。 它的开销是四种屏障中最大的(冲刷写缓冲器 , 清空无效化队列) 。 在大多数处理器的实现中 , 这个屏障也被称为全能屏障 , 兼具其它三种内存屏障的功能 。
  • Java 中对内存屏障的使用在一般的代码中不太容易见到 , 常见的有 volatile 和 synchronized 关键字修饰的代码块 , 还可以通过 Unsafe 这个类来使用内存屏障 。
    【#Java#互联网大厂面试必问的Java内存模型以及并发编程】Java 内存模型就是通过定义的这些来解决可见性、原子性和有序性的 。