Ir al contenido

Bytecode Java

De Wikipedia, la enciclopedia libre

Esta es una versión antigua de esta página, editada a las 20:00 8 oct 2011 por Niqueco (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

El bytecode Java es el tipo de instrucciones que la máquina virtual Java ejecuta, su bytecode.

Estructura

El opcode de cada instrucción es de un byte de largo, aunque algunas requieren parámetros resultando en instrucciones multibyte. No todos los 256 posibles opcodes son utilizados. De hecho, Sun Microsystems, el creador original de laplataforma Java, separó tres valores para que queden permanentemente sin implementar.[1]

Las instrucciones caen en las siguientes categorías:

  • Mover de memoria a registros y viceversa (ej. aload_0,istore)
  • Aritmética y lógica (ej. ladd,fcmpl)
  • Conversión de tipos (ej. i2b,d2i)
  • Creación y manipulación de objetos (ej. new, putfield)
  • Manipulación de la pila de operandos (ej. swap, dup2)
  • Control de flujo (ej. ifeq, goto)
  • Invocación de métodos y retorno de los mismos (ej. invokespecial, areturn)

También hay algunas pocas instrucciones para operaciones más especializadas, tales como manejo de excepciones, sincronización, etc.

Referencias