1.
关于Java内存模型JMM = Java Memory Model
主内存的这个概念是在JMM里面,而方法区的概念是在JVM虚拟机的范畴里面,这2者很容易混为一谈
2.
我们按照JMM的范畴,在这里讲到的是多线程对一个全局共享变量,其实现原理是:
A线程和B线程都在自己的内存区,创建一个副本变量,这个副本变量copy了全局变量,然后线程对这个变量进行修改以后,再刷新到主内存区
3.
volatile,这个关键字,不太好解释
其实很简单,就是全局变量,如果加了volatile,那么这个全局变量,就是即可刷新的,子线程的副本变量也会及时收到这个变量改变以后的值但是这里,volatile保证了这个变量的可见性,但是不保证原子性,volatile是高性能,但是跟synchronized的完全不一样.关于static和volatile在实际框架的使用,再深究吧.
到这里呢,JMM结束,今明2天把多线程通讯和线程池原理搞清楚