面试JVM(五) 指令重排 Happen-Before规则

1:程序顺序原则:一个线程内保证语义的串行性

2:volatile规则:volatile变量的写,必先发生于读

3:锁规定:一个unLock操作先行发生于后面对同一个锁的lock操作

4:传递性:如果操作A先行发生于操作B,而操作B又先行发生于操作C,则可以得出操作A先行发生于操作C

5:线程的启动:线程的start()方法先于它的每一个动作

6:线程的终结:线程的所有操作先于线程的终结

7:线程的中断:线程的中断先于被中断的程序的代码

8:对象的构造函数执行,结束先于finaliza()方法

 

参考文章:https://www.cnblogs.com/chenssy/p/6393321.html

你可能感兴趣的:(面试,jvm)