java內存模型jvm虛擬機簡要分析
主內存和工作內存
- Java 內存模型規(guī)定了所有的變量都存儲在主內存中, 每條線程有自己的工作內存
- 線程的工作內存中保存了被該線程使用的變量的主內存副本, 線程對變量的所有操作 (讀取、賦值等) 都必須在工作內存中進行, 而不能直接讀寫主內存中的數據
- 不同的線程之間也無法直接訪問對方工作內存中的變量, 線程間變量值的傳遞均需要通過主內存來完成

內存間的交互操作

原子性、可見性、有序性
Java 內存模型是圍繞著在并發(fā)過程中如何處理原子性、可見性、有序性這三個特征來建立的
原子性
基本數據類型的訪問、讀寫都是具備原子性的。synchronized 實現原子性
可見性
可見性是指當一個線程修改了共享變量的值時, 其他線程能夠立刻得知這個修改Java 內存模型是通過在變量修改后將新值同步回主內存, 在變量讀取前從主內存刷新變量值這種依賴主內存作為傳遞媒介的方式來實現可見性的volatile、synchronized、final 實現可見性
有序性
volatile、synchronized 實現有序性
以上就是java內存模型jvm虛擬機簡要分析的詳細內容,更多關于java內存模型jvm虛擬機的資料請關注腳本之家其它相關文章!
相關文章
mybatisplus的坑?insert標簽insert?into?select無參數問題的解決
這篇文章主要介紹了mybatisplus的坑?insert標簽insert?into?select無參數問題的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
自帶IDEA插件的阿里開源診斷神器Arthas線上項目BUG調試
這篇文章主要為大家介紹了自帶IDEA插件阿里開源診斷神器Arthas線上項目BUG調試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
Java Hutool 包工具類推薦 ExcelUtil詳解
這篇文章主要介紹了Java Hutool 包工具類推薦 ExcelUtil詳解,需要引入hutool包,版本號可根據實際情況更換,除hutool包之外,還需要引入操作Excel必要包,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-09-09
日志模塊自定義@SkipLogAspect注解跳過切面的操作方法
文章介紹了一個自定義注解@SkipLogAspect,用于在日志模塊中跳過特定方法的日志切面,這個注解可以用于需要避免大對象轉換為JSON時導致的OOM問題,文章還提供了注解的實現代碼以及一個測試示例,展示了如何在控制器中使用該注解來跳過日志切面,感興趣的朋友一起看看吧2025-02-02

