国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java中final域的内存语义理解

java中final域的内存语义理解

java final

头像

小妮浅浅

2021-08-04 10:24:365172浏览 · 0收藏 · 0评论

说明

1、对于final域的内存语义,编译器和处理器要遵守两个重排序规则(内部实现也是使用内存屏障):

2、写final域的重排序规则:在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。

读final域的重排序规则:初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。

实例

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中final域的内存语义理解,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

神印王座| 青丝影院大全免费2023年新版| 成全影视大全免费追剧大全| 美女两个球球抖动抓球球视频| 白日梦我电视剧免费观看完整版| 《女朋友的妹妹3》| 蜜桃成熟时2| 中文AV人妻AV无码中文下载| 《囚禁空姐》电影免费观看| 妈妈がだけの心に漂う| 日韩成人无码| 《法国空乘6》| 丫头把腿开大让我添添电影| 校草夹震蛋上课爽死H男男动漫| 老人船上弄雨荷1一5节| 我和小姨子做爱HD完整版| 男同| 他的手渐渐地也开始不安分起来| 一家乱战1-13集大| 机械革命| 妈妈的朋友8| 《不戴套瑜伽教练3》| 暴躁少女CSGO高清大图特点| 55岁女人高潮后几天能恢复| 女友小雪被房东老板玩| 人与狗胶配方大全高清视频| 日本CSGO大姐姐AWP| 儿子娶妈妈免费观看完整版| 孙笑川| 有夫之妇精油按摩的功效与作用| 下面的小嘴又饿了| 芒果浏览器| 《女仆教育》动漫第一季| 美国A片巜禁忌9| 添女人荫蒂全部过程AV视频| 日亚M码是日本的还是中国的 | 《妻子6》在线观看免费版电视剧| 战马在线观看| 亲吻拔萝卜原声不带歌词抓奶| CHINESE少妇偷| 《办公室高潮秘书2》电影