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 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.
Um programador Java não precisa entender — e nem tomar conhecimento — dos
bytecodes Java para ser proficiente na linguagem, da mesma forma que um programador de qualquer linguagem de alto nível compilada para linguagem de máquina não precisa conhecer a linguagem de montagem do computador hospedeiro para escrever bons programas naquela linguagem.