Why can compiled Java bytecode run on different machines with minimal changes?
A Java Virtual Machine on each platform interprets and executes the bytecode.
Each processor executes the Java source code directly.
The Java filename automatically changes for each platform.
The bytecode is native machine code for every processor.