A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura da Máquina Virtual Java James de Souza - RA 991899 IC - Unicamp - Novembro/2005.

Apresentações semelhantes


Apresentação em tema: "Arquitetura da Máquina Virtual Java James de Souza - RA 991899 IC - Unicamp - Novembro/2005."— Transcrição da apresentação:

1 Arquitetura da Máquina Virtual Java James de Souza - RA IC - Unicamp - Novembro/2005

2 Arquitetura da JVM - Agenda - Introdução - Estrutura - Tipos de dados - Área de dados - Conjunto de instruções - Limitações - Exemplo de bytecode - Otimizações - Conclusão - Bibliografia

3 Arquitetura da JVM - Introdução - motivação: portabilidade - um novo nível de abstração - trabalha com bytecodes - pode ser implementada em diversas arquiteturas - formato de arquivo class - subsistemas, área de memória, tipos de dados e instruções

4 Arquitetura da JVM - Estrutura

5 Arquitetura da JVM - Tipos de dados

6 Arquitetura da JVM - Threads e Stacks

7 Arquitetura da JVM - Área de métodos e heap - área de métodos - informações das classes - heap - área de instâncias

8 Arquitetura da JVM - Conjunto de Instruções - Instruções load e store Ex: iload, dload - Instruções aritméticas Ex: iadd, lsub, fmul, ishl, iand - Instruções para conversão de dados Ex: i2l, f2d - Instruções para manipulação de objetos Ex: new, newarray, getfield, putstatic

9 Arquitetura da JVM - Conjunto de Instruções - Instruções para gerenciamento da pilha (operand stack) Ex: pop, dup, swap - Instruções de controle Ex: ifeq, ifnull, ifnonnull, goto - Instruções de chamada e retorno de métodos Ex: invokevirtual, invocstatic

10 Arquitetura da JVM - Limitações - arquivo class - magic - 0xCAFEBABE - campos: minor_version, major_version, access_flag (ACC_FINAL, ACC_ABSTRACT), fields_count, fields[] - máximo de variáveis locais: operand stack: número de parâmetros de um método: 255

11 Arquitetura da JVM - Exemplo class Act { public static void doMathForever() { int i = 0; for (;;) { i += 1; i *= 2; }

12 Arquitetura da JVM - Exemplo 0 iconst_0 // 03 1 istore_0 // 3b 2 iinc 0, 1 // iload_0 // 1a 6 iconst_2 // 05 7 imul // 68 8 istore_0 // 3b 9 goto 2 // a7 ff f9

13 Arquitetura da JVM - Otimizações - inicialmente considerada lenta - interpretada - otimização usando compilação para código nativo direto - otimização usando hardware: picoJava - otimização utilizando JIT (Just-In-Time)

14 Arquitetura da JVM - Conclusão - simples e de fácil implementação - permite independência de hardware - ao mesmo tempo abre espaço para implementações específicas - utilização de bytecodes - outras linguagens - lenta quando interpretada, porém otimizada em hardware e JIT

15 Arquitetura da JVM - Bibliografia - Sun Microsystems, Inc. The Java Virtual Machine Specification, B. Venners. Inside the Java Virtual Machine. Artima Software, Inc., Tom R. Halfhill, How To Soup Up Java, Austin C. e Pawlan M., Advanced Programming for the Java 2 Platform, Apache Software Foundation, Byte Code Engineering Library, 2003


Carregar ppt "Arquitetura da Máquina Virtual Java James de Souza - RA 991899 IC - Unicamp - Novembro/2005."

Apresentações semelhantes


Anúncios Google