Java 内存模型(Java Memory Model,简称 JMM)是一种抽象的概念,并不真实存在,它描述的是一组规范或者规则,通过这种规范定义了程序中各个变量(包括实例字段.静态字段和构成数组对象的元素)的访问方式. JMM 中的主内存和工作内存 由于代码运行的实体是线程,而 JVM 会为每一个线程创建一个工作内存(有些资料称为栈空间),用于存储线程私有的数据.而 Java 内存模型规定所有变量都存储在主内存中.主内存是共享内存区域,所有线程都可以访问.但是线程不能直接操作主内存中的变量,线…