Plataforma Java

Preview:

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

Plataforma Java

Agenda

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

Plataforma Java

# 2

Arquitetura da Plataforma Java

Plataforma Java

# 3

Código Fonte

Compilador

Bytecode

Class LoaderBytecode Verifyer

Máquina Virtual

CompiladorJIT

Sistema Operacional

JDK

Plataforma Java

# 4

O Compilador

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

– Compilador Incremental JDT

Plataforma Java

# 5

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

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

Gerações de objetos

Plataforma Java

# 8

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

Tipos de Coletores

• Serial• Throughput

-XX:+UseParallelGC

• Concurrent -Xincgc ou -XX:+UseConcMarkSweepGC

• Incremental (deprecated)

Plataforma Java

# 10

Exercício: VisualVM

Plataforma Java

# 11

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

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

Recommended