Slide sem t - PowerPoint PPT Presentation

About This Presentation
Title:

Slide sem t

Description:

Arquitetura da M quina Virtual Java James de Souza - RA 991899 IC - Unicamp - Novembro/2005 Arquitetura da JVM - Agenda - Introdu o - Estrutura - Tipos de dados ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 16
Provided by: unicampBr
Category:
Tags: java | sem | threads

less

Transcript and Presenter's Notes

Title: Slide sem t


1
Arquitetura da Máquina Virtual Java James
de Souza - RA 991899 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 65535 -
operand stack 65535 - 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 // 84 00 01 5
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, 1999. - B. Venners. Inside the
Java Virtual Machine. Artima Software, Inc.,
2003. - Tom R. Halfhill, How To Soup Up Java,
1998. - Austin C. e Pawlan M., Advanced
Programming for the Java 2 Platform, 1999. -
Apache Software Foundation, Byte Code Engineering
Library, 2003
Write a Comment
User Comments (0)
About PowerShow.com