一部のディスカッション スレッドでは、Java コードの順不同での実行について言及されていますが、JVM がバイト コードを順不同で実行すると明示的に主張していません。だから、それは本当なのだろうか。もしそうなら、トピックに関する(公式の)技術文書はありますか?
ありがとう。
編集:CPUが命令を順不同で実行することは理解していますが、JVM自体がバイトコードを順不同で実行するかどうかを知りたいです。
JVMSは、このトピックについて説明します。一般に、JVM は、バイトコードのなんらかの並べ替えを自由に行うことができます。これにより、マルチスレッド アプリケーションで予期しない動作が発生する可能性があります。
シングル スレッド アプリケーションとすべてのシングル スレッドの場合、並べ替えは動作に影響せず、プログラム/スレッドの実行はソース コードで期待されるものと同じです。