91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java緩存行與volatile有什么用

發布時間:2022-01-05 18:02:35 來源:億速云 閱讀:162 作者:iii 欄目:大數據

這篇文章主要講解了“java緩存行與volatile有什么用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java緩存行與volatile有什么用”吧!

CPU 為了更快的執行代碼。于是當從內存中讀取數據時,并不是只讀自己想要的部分。而是讀取足夠的字節來填入高速緩存行。根據不同的 CPU ,高速緩存行大小不同。如 X86 是 32BYTES ,而 ALPHA 是 64BYTES 。并且始終在第 32 個字節或第 64 個字節處對齊。這樣,當 CPU 訪問相鄰的數據時,就不必每次都從內存中讀取,提高了速度。 因為訪問內存要比訪問高速緩存用的時間多得多。

可以看出來,CPU都是很機智的,每次讀取不止把本次需要的數據讀取進緩存,還會把相鄰的數據也讀進來,但是這樣就有一個問題了,現在的CPU都是多核的,如果有一個數據同時被多個核心緩存,其中一個核心修改了這個數據的值,其他核心的緩存值就失效了,這時程序就出錯了。

那么,如何應對這種情況呢?java中,可以給字段加上volatile關鍵字,使用volatile關鍵字的字段在值被改變后會強制令其他CPU的緩存失效,也就是說一個CPU在另外一個CPU改變了volatile修飾的數據后這個CPU會重新從內存讀取而不會從緩存讀取該數據,保證讀取到的是新數據而不是失效數據。

可以看出,volatile解決了一個CPU更改數據后另外一個CPU不知道的問題,但是,如果使用不當,volatile是會降低程序效率的,下節將分析一個volatile導致的性能問題。

感謝各位的閱讀,以上就是“java緩存行與volatile有什么用”的內容了,經過本文的學習后,相信大家對java緩存行與volatile有什么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卢氏县| 昌宁县| 北票市| 台前县| 乐平市| 昌平区| 垫江县| 宣化县| 德格县| 太湖县| 正宁县| 无锡市| 瓮安县| 广灵县| 泰宁县| 丰顺县| 清河县| 彩票| 双江| 辽阳县| 延吉市| 靖西县| 内乡县| 醴陵市| 徐汇区| 西藏| 边坝县| 晋宁县| 西华县| 望奎县| 灵武市| 澄迈县| 四会市| 临颍县| 拜城县| 旌德县| 晋州市| 枞阳县| 舟曲县| 平原县| 酒泉市|