ジョエルが言及した最新のポッドキャストの精神で、彼はいくつかの簡単な質問とおそらく興味深い答えを求めています...
今日のプログラミング環境では、言語ステートメントの実行順序に依存することはできません。本当?心配する必要がありますか?
30 GOTO 10 は常に 10 になりますか?*
*意図的に 20 を使用したわけではありません ;)
[編集] この質問の締めくくりに投票した 4 人に対して ...
「ランタイムコンパイラは、プロファイリング情報を使用して、コンパイル中のコードを最適化します。JVM は、より良いコードを生成するために、実行に固有の情報を使用することが許可されています。つまり、あるプログラムでメソッド M をコンパイルすると、別のプログラムで M をコンパイルする場合とは異なるコードが生成される可能性があります。別"
(Java concurrency in practice、2006 年、Goetz らより)
..「モノモーフィックコール変換」を見てください
[編集]
別の編集では、プロセッサはステートメントの実行順序を入れ替えることができます...