Java 多线程的内存模型
Java 多线程的内存模型JMM是是Java的内存模型,和JVM的内存模型是两回事(Java Runtime Data Area)内存模型图如下当多线程进行数据交互的时候,比如线程A修改了共享变量,线程B读取读,A修改完变量在自己的工作内存中,B是看不到(或者说感知不到A的修改),只有A的工作区协会到主内存,B再从主内存读取自己的工作区才能进一步操作,因为指令重排序的存在,这个写读的顺序可能被打乱,所以JMM需要提供原子性,可见性,有序性的保证。原子性一个操作不能被打断,要么执行成功,要么执行失



