13
Plataforma Java

Plataforma Java

  • Upload
    verena

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Plataforma Java. Agenda. Arquitetura da Plataforma Java O Compilador A Maquina Virtual O Coletor de Lixo. Arquitetura da Plataforma Java. Class Loader Bytecode Verifyer. C ódigo Fonte. M áquina Virtual. Compilador JIT. Compilador. Sistema Operacional. Bytecode. JDK. - PowerPoint PPT Presentation

Citation preview

Page 1: Plataforma Java

Plataforma Java

Page 2: Plataforma Java

Agenda

• Arquitetura da Plataforma Java• O Compilador• A Maquina Virtual• O Coletor de Lixo

Plataforma Java

# 2

Page 3: Plataforma Java

Arquitetura da Plataforma Java

Plataforma Java

# 3

Código Fonte

Compilador

Bytecode

Class LoaderBytecode Verifyer

Máquina Virtual

CompiladorJIT

Sistema Operacional

Page 4: Plataforma Java

JDK

Plataforma Java

# 4

Page 5: Plataforma Java

O Compilador

• Compilação• Processamento de Anotations (6.0+)• javax.tools.JavaCompiler (6.0+)• Sun• GCJ, Jikes• Eclipse

– Compilador Incremental JDT

Plataforma Java

# 5

Page 6: Plataforma Java

JVM

• Componentes– Núcleo– Interpretador de Bytecode– Compilador JIT– Camada de porting– Gerenciador de execução– Class Library– Thread manager

• Hotspot• Harmony

Plataforma Java

# 6

Page 7: Plataforma Java

Coletor de Lixo

• Benefícion– Sem erros por ponteiros pendentes– Sem erros por dupla desalocação– Menos erros de vazamento de memória

• Por gerações (efêmero)• Tipos

– Pausa completa– Incremental– Concorrente

Plataforma Java

# 7

Page 8: Plataforma Java

Gerações de objetos

Plataforma Java

# 8

Page 9: Plataforma Java

Dimensionando Gerações

• Tempo (throughput) x Espaço (footprint)– Principio da maior latência– Prontidão– Tempos de pausa

• Parâmetros da VM Hotspot:-server-Xms e –Xmx (heap inicial e maximo)-XX:MinHeapFreeRatio e -XX:MaxHeapFreeRatio-XX:MaxPermSize-XX:+PrintGCDetails-XX:+AggressiveOpts

Plataforma Java

# 9

Page 10: Plataforma Java

Tipos de Coletores

• Serial• Throughput

-XX:+UseParallelGC

• Concurrent -Xincgc ou -XX:+UseConcMarkSweepGC

• Incremental (deprecated)

Plataforma Java

# 10

Page 11: Plataforma Java

Exercício: VisualVM

Plataforma Java

# 11

Page 12: Plataforma Java

Resumo

• Java é uma linguagem compilada E interpretada.

• O compilador é responsável por traduzir de java para um código intermediário, o bytecode.

• A JVM interpreta bytecode, executando diretamente ou compilando alguns trechos para código nativo antes.

• O garbage collector é o responsável pela desalicação de objetos inúteis e concorre com a aplicação por CPU e memória.

Plataforma Java

# 12

Page 13: Plataforma Java

Plataforma Java

# 13

Dúvidas?

http://java.sun.com/javase/technologies/hotspot/vmoptions.jsphttp://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html