コンパイルされた Java バイトコードが、最小限の変更で異なるマシン上でも実行できるのはなぜですか?
各プラットフォームの Java Virtual Machine がバイトコードを解釈して実行するためです。
各プロセッサが Java ソースコードを直接実行するためです。
バイトコードがすべてのプロセッサ向けのネイティブマシンコードだからです。
Java のファイル名がプラットフォームごとに自動的に変わるためです。