BYTECODE CODIGO DE BYTE. BYTECODES SON EL LENGUAJE DE LA MÁQUINA DE LA MÁQUINA VIRTUAL DE JAVA.

Презентация:



Advertisements
Похожие презентации
Java VARIABLESVARIABLES. Haydeé MéndezProgramación 2 2 Statement Un statement o instrucción o declaración es una línea simple de código: System.out.println(Hello.
Advertisements

Referencias absolutas y relativas ¿Qué es una referencia? ¿Qué es una referencia? Cuando realizamos un cálculos como por ejemplo: =B1*B2 hacemos referencia.
Java EXPRESIONESEXPRESIONES. Haydeé MéndezProgramación 2 2 Expression ¿Cuál es el valor utilizado para inicializar x? int x = * 5; ¿Cuál es el valor.
Conversión de Binario a Decimal. Cualquier número Binario puede ser convertido en su equivalente ENTERO Decimal. La forma de hacerlo es sumar en el número.
PROGRAMACIÓN ESTRUCTURADA Conceptos básicos Problema Problema: Situación o circunstancia que requiere una solución Solucionar un problema: transformar.
Java OperadoresOperadores. Haydeé MéndezProgramación 2 2 Variables booleanas Son aquellas variables que solamente pueden tener dos resultados: True False.
Java CICLOSCICLOS. Haydeé MéndezProgramación 2 2 Recordatorio Habíamos hablado que dentro de un programa nos interesa poder controlar las acciones que.
Introducción a las Finanzas AEA 504 Unidad 2 Clase 3.
1 Capítulo 4 Otras medidas descriptivas Objetivos: Al terminar este capítulo podrá: 1.Calcular e interpretar la amplitud, la desviación media, la varianza.
Java Programa Hola Mundo. Haydeé MéndezProgramación 2 2 Instalación del Software Instalar en C el jdk
I N S T A L A C I O N E L E C T R I C A D O M I C I L I A R.
Capítulo 1.1 Haydeé Méndez de Fernández introducción JAVAJAVA.
1 Capítulo 8 Métodos de Muestreo y el Teorema de Límite Central Objetivos: Al terminar este capítulo podrá: 1.Explicar por qué una muestra es la única.
1 Capítulo 2 Descripción de los datos, distribuciones de frecuencias y representaciones gráficas Objetivos: Al terminar este capítulo podrá: 1.Organizar.
Introducción a las Finanzas AEA 504 Unidad 2 Clase 2.
Unidad 1: Conceptos Básicos Software Es el que permite que el equipo (hardware) realice las distintas funciones que necesitamos (generales y particulares).
Introducción a las Finanzas AEA 504 Unidad 4 Clase 3.
IR MAS ALLA DE LA DEMANDA EXISTENTE Cap. 5. ¿Cómo maximizar el tamaño del océano azul que se está creando? Esto nos trae al tercer principio que es ir.
Introducción a las Finanzas AEA 504 Unidad 3 Clase 2.
Bases de Datos en Excel Microsoft Excel aporta al usuario la posibilidad de trabajar con tablas de información: nombres, direcciones, teléfonos, zonas,
Транксрипт:

BYTECODE CODIGO DE BYTE

BYTECODES SON EL LENGUAJE DE LA MÁQUINA DE LA MÁQUINA VIRTUAL DE JAVA

Cuando se carga una JVM de un archivo de clase, se hace una secuencia de bytecodes para cada método de la clase.

Cada tipo de código de operación tiene una tecla de acceso. / / Bytecode corriente: 03 3b a b a7 ff f9 / / Desmontaje: iconst_0 / / 03 istore_0 / / 3b IINC 0, 1 / / iload_0 / / 1 bis iconst_2 / / 05 imul / / 68 istore_0 / / 3b Ir a -7 / / ff A7 F9

LOS TIPOS PRIMITIVOS LA JVM SOPORTA SIETE TIPOS DE DATOS PRIMITIVOS. PROGRAMADORES DE JAVA PUEDEN DECLARAR Y USAR VARIABLES DE ESTOS TIPOS DE DATOS, Y LOS BYTECODES DE JAVA OPERAR SOBRE ESTOS TIPOS DE DATOS. LOS SIETE TIPOS PRIMITIVOS SE ENUMERAN EN LA TABLA SIGUIENTE:

Tipo Definición byte de un byte firmó dos entero de complemento short de dos bytes firmó dos entero de complemento int 4 bytes con signo complemento a dos con enteros long 8 bytes firmó dos entero de complemento float 4 bytes IEEE 754 de precisión simple flotador double 8 bytes IEEE 754 flotador doble precisión char carácter sin signo de 2 bytes Unicode

Empujar constantes en la pila Muchos códigos de operación empuje constantes en la pila. Códigos de operación indica el valor constante para impulsar de tres maneras diferentes. El valor constante o implícita en el propio código de operación, sigue el código de operación en la secuencia de código de bytes como un operando, o se toma de la piscina constante.

Algunos códigos de operación por sí mismos indican un tipo y un valor constante para empujar. Por ejemplo: el iconst_1 código de operación indica la JVM para empujar un valor entero ACONTINUACION UN EJEMPLO EN LA TABLA

Código de operación Operando (s) Descripción iconst_m1 (Ninguno) empuja int -1 en la pila iconst_0 (Ninguno) empuja int 0 en la pila iconst_1 (Ninguno) empuja a un int en la pila iconst_2 (Ninguno) int empuja dos en la pila iconst_3 (Ninguno) empuja int 3 en la pila iconst_4 (Ninguno) empuja int 4 en la pila iconst_5 (Ninguno) empuja int 5 en la pila fconst_0 (Ninguno) empuja flotador 0 en la pila fconst_1 (Ninguno) empuja un flotador en la pila fconst_2 (Ninguno) empuja el flotador 2 en la pila

Código de operación Operando (s) Descripción bipush byte1 amplía byte1 (un tipo de bytes) a un int y lo empuja en la pila sipush byte1, byte2 amplía byte1, byte2 (un tipo corto) a un int y lo empuja en la pila

Empujar las variables locales en la pila Las variables locales se almacenan en una sección especial del marco de pila. El marco de pila es la porción de la pila que utiliza el método de ejecución en la actualidad. Cada marco de pila se compone de tres secciones - las variables locales

Código de operación Operando (s) Descripción iload Vindex empuja int de Vindex locales de posición variable iload_0 (Ninguno) int empuja desde la posición variable local cero iload_1 (Ninguno) int empuja desde la posición de una variable local iload_2 (Ninguno) int empuja desde la posición variable local dos iload_3 (Ninguno) int empuja desde la posición variable local tres fload Vindex empuja flotador de Vindex locales de posición variable fload_0 (Ninguno) empuja a flote desde la posición variable local cero fload_1 (Ninguno) empuja a flote desde la posición de una variable local fload_2 (Ninguno) empuja a flote desde la posición variable local dos fload_3 (Ninguno) empuja a flote desde la posición variable local tres