Bytecode Java
O código de um programa de computador escrito na linguagem Java é compilado para uma forma intermediária de código denominada bytecode, que é interpretada pelas Máquinas Virtuais Java (JVMs). É essa característica que faz com que os programas Java sejam independentes de plataforma, executando em qualquer sistema que possua uma JVM. Cada opcode tem o tamanho de um byte — daí o seu nome — e assim o número de diferentes códigos de operação está limitado a 256. Os 256 possíveis valores para códigos de operação não são todos utilizados. Na verdade, alguns dos códigos foram inclusive reservados para nunca serem implementados.
Imagem: Dcoetzee (File:Computer-blue.svg by OpenClipart, File:Phone-blackberry-bold.svg by User:Techtoucian) · CC0 · Openverse
Existem alguns montadores que permitem que se escrevam programas diretamente em bytecodes Java. Normalmente, esse tipo de ferramenta é útil para desenvolvedores de compiladores, e também para se estudar detalhadamente o comportamento das máquinas virtuais Java disponíveis no mercado. Dentre os montadores de bytecode Java disponíveis destacam-se:
Imagem: Julio Hernan Cordoba · BY-SA · Openverse
Existem compiladores para outras linguagens de programação que geram bytecode Java. Por exemplo:


