1.背景JMM(Java Memory Model)的提出,主要基於以下的幾種原因:不同操作系統平台的內存模型不同,而Java又想做到Write Once Run Everywhere(即跨平台),那麼必須要自己提供一套內存模型以屏蔽不同操作系統在內存模型方面的差異。由於除了編譯器層面可以進行指令重排外,處理器層面也可以,儘管指令重排在一定程度上能夠提升程序運行的效率,但這僅限於單線程環境下,一旦