1、JMM的背景與定義
計算機並非僅靠計算就能處理任務,還須要靠內存讀寫,來存儲計算變量和結果。但因爲存儲設備也有快慢之分,爲了提升讀寫速度,加入一層儘量接近CPU的高速緩存做爲CPU與主內存之間的緩衝。
爲了充分利用計算機CPU的利用效率,一般讓計算機併發執行多個計算任務,基於高速緩存訪問引了了一個新的問題:緩存一致性。當多個處理器涉及同一塊主內存區域時,爲保證緩存一致性,各處理器訪問各自緩存時需遵照一些協議(這類協議有MSI、M
ESI、MOSI及Dragon Protocol等)。JAVA內存模型就是屏蔽不一樣的CPU架構的細節,抽象出處理器讀寫內存和高速緩存過程的協議。
3、先行發生原則(happens-before)
4、參考文獻
《深刻理解Java虛擬機:JVM高級特性與
最佳實踐》 周志明