Bytecode is an intermediate representation of a program that is executed by a virtual machine or runtime instead of directly by hardware.
Bytecode allows languages and platforms to separate source-code compilation from machine-specific execution.