Many programming languages use bytecodes, which are based on, and named after, bytes, 8-bit blocks of bits with which many computer users are familiar. Bytecoded languages use bytecodes as an interim form of information representation, an abstraction, between source code and object (machine) code, and use two conversion steps (transformations) when running: 1) source code is interpreted into bytecodes, 2) then bytecodes are run on an interpreter called a virtual machine (VM) which generates object code which is executed. This strategy gives two main benefits:
1) Compactness: bytecodes are a very compact representation.
2) High portability: source code can be written once and then run on any platform for which a VM exists. This inspired the Java slogan: Write once, run anywhere. Bytecode programs are usually run on, and executed by, bytecode interpreters, but sometimes they are compiled by bytecode compilers, or by dynamic or JIT (Just In Time) compilers, which are synonyms. These- Category ID : 57970