java并发编程的艺术学习笔记-final的内存语义
final的重排序规则
在构造函数内对一个final域的写入,与随后把这个构造对象的引用赋值给一个引用变量,这两个操作不能重排序。
初次读一个包含final的对象引用,与随后初次读这个final域,这两个操作不能重排序。
写final重排序规则
写重排序规则进制把final域的写重排序到函数之外,两个方面的实现:
JMM进制编译器把final域的写重排序到函数之外。
编译器会在final写域之后,构造函数return之前,插入一个StoreStore屏障。这个屏障禁止处理器把final域重排序到构造函
原创
2021-04-20 10:30:47 ·
101 阅读 ·
0 评论