中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

汕头市| 左权县| 松滋市| 拉萨市| 汶川县| 遂溪县| 聂荣县| 仙桃市| 乐平市| 安西县| 广灵县| 庐江县| 太康县| 南江县| 忻城县| 兴安县| 吉木乃县| 桂林市| 留坝县| 临沧市| 山丹县| 曲水县| 雅安市| 乌海市| 稷山县| 西宁市| 江安县| 林州市| 宝坻区| 扶风县| 确山县| 留坝县| 锡林浩特市| 乐业县| 靖州| 祁东县| 镶黄旗| 曲靖市| 新绛县| 沅陵县| 邛崃市|