看了几遍,是在没法看懂。
到底什么叫做JMM,它描述的一个什么东西或者关系?
整个JMM解决了什么问题?我的一点点理解:
关于可见性:每个线程都有自己的Working Memory,一个线程是看不到另外一个线程的Working Memory中的东西的
关于一致性:一个线程要执行synchronized块时,会讲Working Memory的东西同步到Main Memory,然后清空Working Memory,要退出时也把Working Memory的东西同步到Main Memory,使用volatile可以使得Working Memory与Main Memory中的值同步,通过synchronized和用volatile保证了数据的一致性。其他的我基本不懂了,比如说在什么情况下可以进行reorder,happens-before就更加看不懂了能不能用通俗点的语言大概说一下~~谢谢了,真不知道JMM是啥,他解决了啥问题?