Java final内存语义

2020-05-22  本文已影响0人  攻城狮托马斯

Final


final的意思是一个已初始化的变量不能再指向另外的值/对象

1.在构造函数内对final域的写入,与随后把这个构造对象赋给一个引用变量,这样的操作不能重排序.

store store

i = 1 可能会被排序在构造函数之外,而 j = 2 不会.

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

3.在构造函数内对一个final引用的对象成员域的写入,与随后在构造函数外对这个沟槽最想的引用赋值给一个引用变量,这两个操作之间不能重排序.

Final关键词中的内存语义

写:

读: 

上一篇 下一篇

猜你喜欢

热点阅读