Le bytecode Java est un bytecode destiné à regrouper des instructions exécutables par une machine virtuelle java. Par extension, il désigne un flux d'octets binaire au format d'une classe java. Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.
Jasmin est un langage d'assemblage d'instructions de la machine virtuelle Java, ou de façon plus concise, un assembleur de bytecode Java.