日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

老李谈JVM内存模型

發(fā)布時間:2023/12/13 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老李谈JVM内存模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

老李談JVM內存模型

poptest是國內唯一一家培養(yǎng)測試開發(fā)工程師的培訓機構,以學員能勝任自動化測試,性能測試,測試工具開發(fā)等工作為目標。如果對課程感興趣,請大家咨詢qq:908821478,咨詢電話010-84505200。

JVM內存模型 - 主內存和線程獨立的工作內存

Java內存模型規(guī)定,對于多個線程共享的變量,存儲在主內存當中,每個線程都有自己獨立的工作內存,線程只能訪問自己的工作內存,不可以訪問其它線程的工作內存。工作內存中保存了主內存共享變量的副本,線程要操作這些共享變量,只能通過操作工作內存中的副本來實現(xiàn),操作完畢之后再同步回到主內存當中。

如何保證多個線程操作主內存的數(shù)據(jù)完整性是一個難題,Java內存模型也規(guī)定了工作內存與主內存之間交互的協(xié)議,首先是定義了8種原子操作:

(1) lock:將主內存中的變量鎖定,為一個線程所獨占

(2) unclock:將lock加的鎖定解除,此時其它的線程可以有機會訪問此變量

(3) read:將主內存中的變量值讀到工作內存當中

(4) load:將read讀取的值保存到工作內存中的變量副本中。

(5) use:將值傳遞給線程的代碼執(zhí)行引擎

(6) assign:將執(zhí)行引擎處理返回的值重新賦值給變量副本

(7) store:將變量副本的值存儲到主內存中。

(8) write:將store存儲的值寫入到主內存的共享變量當中。

轉載于:https://www.cnblogs.com/poptest/p/5163941.html

總結

以上是生活随笔為你收集整理的老李谈JVM内存模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。