Java byte code is the code that is output by the Java compiler.
Byte code is not machine code, it must be interpreted to create the
machine code. This is handled by the Java virtual machine. Pretty
much every platform produced today has a Java virtual machine
implementation, so the same byte code can be executed upon any
machine. Byte code can be regarded as being the native language of
the virtual machine, as opposed to machine code which is the native
language of the physical machine.