JMM(Java内存模型):是一种符合内存模型规范,屏蔽了各种硬件和操作系统的访问差异,保证了Java程序在各种平台下对内存的访问都能保证效果一致机制和规范。
内存模型:为了保证共享内存的正确性(可见性、有序性、原子性),内存模型中定义了共享内存系统中多线程程序读写操作的行为规范,1.限制处理器优化 2.使用内存屏幕。
(1)原子性:指一个操作中CPU不可以在中途暂停在调度,不被中断操作,要么执行完成,要么就不执行。
(2)可见性:多个线程访问同一个变量时,一个线程如果修改了这个变量的值,其他线程能够立即看到修改后的值。
(3)有序性:程序执行的顺序按照代码的先后顺序来执行。