韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > 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电脑。

关注

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

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

夫妻生活视频曝光| 数学课代表的B真紧| 宋芸桦| 扌桑小孩的辶鬲的历史背景| 白日梦我小说| 父母儿女一家狂第八集| 《好好疼爱里面》免费看| 闺蜜老公把我压在怀里| 小雪解开乳罩给老杨摸| 保姆的特殊待遇5| 韩国三级《偷妻》| 《厨房激战5》完整版在线观看| 韩剧妻子的背叛| 火车上荫蒂添的好舒服图片 | 两领导在车上吃我的奶| 暴躁妹妹CSGO高清| 少妇洗澡被强公日日澡| 《善良的公与媳》| 绝品儿媳陈婷免费阅读| 《魅魔之耻》1~4集免费看| 避孕套怎么用| 免费高清在线观看免费的PPT软.. 男人女人免费观看40集电视剧 | 洞洞饿了1-36集全免费| 白日梦我| 女人被男人进入后的心理变化| 成全影视大全免费追剧大全| 他扒开内裤把舌头伸进去| 做我的爱人6集免费观看电视剧| 男生把困困放在女生定眼| 别拔出来 就弄里面吧| 绝色儿媳在线观看免费版电视剧| 暴躁少女零九CSGO| 三人互换麦子| 情满四合院 电视剧| 《淫毛》在线观看免费| 妻子的秘密在线观看免费全集| 《妻子的肉体偿还》5| 无人区免费高清版观看| 免费观看已满十八岁电视剧在线播..| 日大B舒服还是小B舒服呢| 电子