“Run-anywhere” Capability
On any machine when you compile Java source code using javac byte code equivalent to the source is generated.
Byte code is machine-independent. This enables the “run-anywhere” capability.
You invoke java command which will feed the byte code to the machine-dependent interpreter.