Hello! 欢迎来到小浪资源网!


Java单线程环境下,指令重排序会改变执行结果吗?


Java单线程环境下,指令重排序会改变执行结果吗?

指令重排序对单线程中的Java代码的影响

在java中,指令重排序是一种优化技术,它可以重新排列代码执行的顺序以提高性能。然而,有人认为这个技术不适用于单线程环境。

对此,我们提出一个问题:

java单线程中指令重排序是否可能导致代码重新排序,从而导致不同的执行结果?

回答:

立即学习Java免费学习笔记(深入)”;

指令重排序不会影响单线程代码的执行结果。在单线程中,jvm严格按照代码顺序执行指令。因此,代码中顺序执行的语句不会被重新排列

举个例子,以下代码片段在单线程中执行,不会被重新排列

System.out.println("1"); System.out.println("2");

因此,它将始终按顺序打印”1″和”2″。

相关阅读