亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

java中final域的內存語義是什么

發布時間:2021-05-12 10:10:18 來源:億速云 閱讀:130 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關java中final域的內存語義是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、說明

對于final域的內存語義,編譯器和處理器要遵守兩個重排序規則(內部實現也是使用內存屏障):

寫final域的重排序規則:在構造函數內對一個final域的寫入,與隨后把這個被構造對象的引用賦值給一個引用變量,這兩個操作之間不能重排序。

讀final域的重排序規則:初次讀一個包含final域的對象的引用,與隨后初次讀這個final域,這兩個操作之間不能重排序。

2、實例

public class FinalExample {
       int i;//普通域
       final int j;//final域
       static FinalExample obj;
       
       public FinalExample () {
              i = 1;//寫普通域。對普通域的寫操作【可能會】被重排序到構造函數之外
              j = 2;//寫final域。對final域的寫操作【不會】被重排序到構造函數之外
       }
       
       // 寫線程A執行
       public static void writer () {?   
              obj = new FinalExample ();
       }
       
       // 讀線程B執行
       public static void reader () {?   
              FinalExample object = obj;//讀對象引用
              int a = object.i;//讀普通域。可能會看到結果為0(由于i=1可能被重排序到構造函數外,此時y還沒有被初始化)
              int b = object.j;//讀final域。保證能夠看到結果為2
       }
}

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。4.Dubbo,Dubbo是一個分布式服務框架。5.Maven,Maven是個項目管理和構建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實現的一個高并發高可靠AMQP消息隊列服務器。7.Ehcache,EhCache 是一個純Java的進程內緩存框架。

關于“java中final域的內存語義是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

安阳市| 太仓市| 巍山| 且末县| 图片| 绵竹市| 淮滨县| 上高县| 行唐县| 洛阳市| 宜川县| 江山市| 长寿区| 涿州市| 丽水市| 金秀| 临汾市| 中牟县| 武宣县| 当雄县| 新余市| 仙居县| 黑山县| 田阳县| 天门市| 鱼台县| 海伦市| 武邑县| 泾川县| 固原市| 锦州市| 长宁县| 定安县| 姚安县| 高青县| 旅游| 龙州县| 中阳县| 南城县| 额尔古纳市| 西昌市|