3

一部のディスカッション スレッドでは、Java コードの順不同での実行について言及されていますが、JVM がバイト コードを順不同で実行すると明示的に主張していません。だから、それは本当なのだろうか。もしそうなら、トピックに関する(公式の)技術文書はありますか?

ありがとう。

編集:CPUが命令を順不同で実行することは理解していますが、JVM自体がバイトコードを順不同で実行するかどうかを知りたいです。

4

1 に答える 1

5

JVMSは、このトピックについて説明します。一般に、JVM は、バイトコードのなんらかの並べ替えを自由に行うことができます。これにより、マルチスレッド アプリケーションで予期しない動作が発生する可能性があります。

シングル スレッド アプリケーションとすべてのシングル スレッドの場合、並べ替えは動作に影響せず、プログラム/スレッドの実行はソース コードで期待されるものと同じです。

于 2013-02-06T01:12:15.397 に答える