Kurz erklärt
Bytecode ist ein kompakter, plattformunabhängiger Zwischencode, den ein Compiler erzeugt und eine virtuelle Maschine ausführt. Er liegt zwischen Quelltext und Maschinencode.
Genauer
Java-Programme werden zu .class-Dateien (JVM-Bytecode), C# zu IL für die CLR, Python zu .pyc-Dateien. Dank Bytecode läuft dasselbe Programm auf jedem System, auf dem die virtuelle Maschine installiert ist („write once, run anywhere“). Die VM führt den Code entweder interpretiert oder über JIT-Compilation aus.