Fases de um programa Java
As fases pelo qual passam um programa Java relacionam-se da seguinte
forma:
Hotspot
Hotspot é a máquina virtual Java, ela provê algumas funcionalidades muito
importantes. Ao contrário de outras aplicações, que são compiladas diretamente para
código da máquina em que serão executadas, em Java estas somente são
transformadas em código de máquina em tempo de execução quando necessário.
No princípio esta abordagem trouxe problemas de sobrecarga e lentidão dos
sistemas, no entanto, a JVM vem se aprimorando e, em muitas situações, as
aplicações Java tem desempenho similar as aplicações que são previamente
compiladas.
Este desempenho vem melhorando muito devido a otimização que a
máquina virtual consegue fazer a medida que o código é executado. Perceba que
quando programamos em C, por exemplo, o código fonte é transformado em código
de máquina imediatamente.
Em princípio podemos pensar que o fato do programa não precisar passar
por uma etapa a mais, interpretação, irá torná-lo mais eficiente, mas muitas vezes a
compilação estática não consegue prever situações que irão ocorrer durante a
execução do código: trechos da aplicação mais utilizados, carga do sistema,
quantidade de usuários simultâneos, memória disponível e etc..
Estas informações, relativas ao ambiente no qual a aplicação está sendo
executada, são utilizadas pela JVM para fazer otimizações em tempo de execução e
havendo necessidade o código que está sendo interpretado é transformado em
instruções nativas do sistema operacional (código de máquina) em um processo de
compilação dinâmica.
Esta transformação em tempo de execução é realizada pelo JIT, Just-in-time
compiler. O fato do código (bytecode) ser transformado, em tempo de execução, em
código de máquina permite que a JVM mude a estratégia de compilação em busca de
um melhor desempenho, em um ciclo de “aprendizado” contínuo.
JRE e JDK
JRE: O Java Runtime Environment contém tudo aquilo que um usuário comum precisa para executar uma aplicação Java (JVM e bibliotecas), como o próprio nome diz é o “Ambiente de execução Java”;
JDK: O Java Development Kit é composto pelo JRE e um conjunto de ferramentas úteis ao desenvolvedor Java.
Ferramentas do JDK
A seguir temos uma breve descrição das principais ferramentas que fazem
parte do JDK:
javac: Compilador da linguagem Java;
java: Interpretador Java;
jdb: Debugador Java;
java -prof: Interpretador com opção para gerar estatísticas sobre o uso dos métodos;
javadoc: Gerador de documentação;
jar: Ferramenta que comprime, lista e expande;
appletviewer: Permite a execução e debug de applets sem browser;
javap: Permite ler a interface pública das classes;
extcheck: Detecta conflitos em arquivos Jar.
Material de Apoio: T2TI
Adaptação: Piikachu
ESTUDEM!
Próxima Aula: Primeiro contato com java.
Atenciosamente,
Piikachu.