關(guān)于volatile的這句話 “volatile字段的每次讀行為都能看到其它線程最后一次對該字段的寫行為,通過它就可以避免拿到緩存中陳舊數(shù)據(jù)。它們必須保證在被寫入之后,會被刷新到主內(nèi)存中,這樣就可以立即對其它線程可以見” 我希望具體指出一下:
volatile緩存可見性實現(xiàn)原理:底層主要是通過匯編lock前綴指令
IA-32架構(gòu)軟件開發(fā)者手冊對lock指令的解釋:
1)會將當(dāng)前處理器緩存行的數(shù)據(jù)立即寫回到系統(tǒng)內(nèi)存。
2)這個寫回內(nèi)存的操作,會引起在其他CPU里的緩存了該內(nèi)存地址的數(shù)據(jù)無效(MESI協(xié)議)
什么是Java內(nèi)存模型在知識星球中,有個小伙伴提了一個問題:有一個關(guān)于JVM名詞定義的問題,說”JVM內(nèi)存模型“,有人會說是關(guān)于JVM內(nèi)存分布(堆棧,方法區(qū)等)這些介紹,也有地方說(深入理解JVM...