1. 6.1 先谈硬件historical

    要理解JMM,我们先要理解底层硬件的工作原理 1. 冯诺依曼体系结构 冯诺依曼提出将程序当作数据对待,将程序(指令)和数据用同样的方式储存。根据这个理论计算机被分成控制器、运算器、存储器、输出设备、输入设备这几个部件,如下图 其中运算器和控制器组合成了CPU,CPU执行指令或者操作数据的时候都要跟存

  2. 6.23 再谈JMMhistorical

    了解了计算机底层知识后,再来看JMM就容易多了 1. 为什么需要JMM 之前提到过内存模型规定了程序的内存操作(读操作和写操作)所有可能的执行顺序中哪些是正确的,而不同的处理器架构有不同的内存模型,Java作为一个跨平台(OS和硬件)的语言,为了屏蔽底层的这些差异,定义了自己的内存模型:JMM 2.