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