併發編程學習歷程(零)JMM內存模型

1、JMM的背景與定義

    計算機並非僅靠計算就能處理任務,還須要靠內存讀寫,來存儲計算變量和結果。但因爲存儲設備也有快慢之分,爲了提升讀寫速度,加入一層儘量接近CPU的高速緩存做爲CPU與主內存之間的緩衝。
    爲了充分利用計算機CPU的利用效率,一般讓計算機併發執行多個計算任務,基於高速緩存訪問引了了一個新的問題:緩存一致性。當多個處理器涉及同一塊主內存區域時,爲保證緩存一致性,各處理器訪問各自緩存時需遵照一些協議(這類協議有MSI、M ESI、MOSI及Dragon Protocol等)。JAVA內存模型就是屏蔽不一樣的CPU架構的細節,抽象出處理器讀寫內存和高速緩存過程的協議。

3、先行發生原則(happens-before)



4、參考文獻

     《深刻理解Java虛擬機:JVM高級特性與 最佳實踐》 周志明
相關文章
相關標籤/搜索