Java bytecode is the instruction set of the Java virtual machine (JVM), the language to which Java and other JVM-compatible source code is compiled.[1] Each instruction is represented by a single byte, hence the name bytecode, making it a compact form of data.[2]
Due to the nature of bytecode, a Java bytecode program is runnable on any machine with a compatible JVM; without the lengthy process of compiling from source code.
Java bytecode is used at runtime either interpreted by a JVM or compiled to machine code via just-in-time (JIT) compilation and run as a native application.
As Java bytecode is designed for a cross-platform compatibility and security, a Java bytecode application tends to run consistently across various hardware and software configurations.[3]