1.一段代码能生成多行指令,比如说Student s = new Student("jack");创建Student的过程中,包括开辟空间,给成员变量赋值,给s变量一个指针这几步,禁止指令重排意思是禁止这个这几个指令乱排序吗?
2.另一种是int a = a+b; int c = b+1;a在成员位置,并且a使用了volatile修饰,这个时候int c = b+1;就不会跑到 int a = a+b;之前执行了吗
这两种情况,禁止指令重排都会生效吗?
1.一段代码能生成多行指令,比如说Student s = new Student("jack");创建Student的过程中,包括开辟空间,给成员变量赋值,给s变量一个指针这几步,禁止指令重排意思是禁止这个这几个指令乱排序吗?
2.另一种是int a = a+b; int c = b+1;a在成员位置,并且a使用了volatile修饰,这个时候int c = b+1;就不会跑到 int a = a+b;之前执行了吗
这两种情况,禁止指令重排都会生效吗?