为什么java代码编译时---会出现重排序现象呢?
java代码重排序现象
重排序:
指代码的运行顺序发生变化
重排序主要是JVM为了提高程序运行效率,将不影响程序结果的操作进行重排序
何种情况下会发生重排序
1.在单线程环境下不会改变程序运行的结果,这些代码可能会发生重排序
2.存在数据依赖关系的代码不会发生重排序
综上两点,我们可以看出只有单线程下不影响其结果时的代码会发生重排序
注意事项:
重排序不会影响单线程环境的执行结果
但会破坏多线程的运行效果
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


