关于dcl要加volatile的理解?

来源:13-12 JMM的应用

蒙奇D鸣人

2022-01-10

关于new singlten(); 

 可能的执行顺序:

顺序a:1、分配对象内存空间  2、初始化对象   3、把内存空间地址赋值给引用。

顺序b:1、分配对象内存空间  2、把内存空间赋值给引用   3、初始化对象。

加volatile禁止重排。【这个禁止重排是禁止的顺序b?正常情况下没发生排序就是按顺序a执行的?】这个感觉不像之前例子中的int共享变量赋值好理解。

写回答

1回答

悟空

2022-01-11

你理解是对的

0
0

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程