JDK,JRE,JVM - Quais suas diferenças?


Vamos quebrar mais esta aqui para a galera! Afinal, qual a diferença?

JDK (Java Development Kit)

Java Developer Kit contém ferramentas necessárias para desenvolver os programas em Java, e JRE para executar os programas. As ferramentas incluem compilador (javac.exe), lançador de aplicação Java (java.exe), appletviewer, etc ...

O Compilador converte o código Java em código de byte. O Java executa o aplicativo, abre um JRE, carrega a classe, e chama seu método principal.



Você precisa do JDK se você quer escrever seus próprios programas, e para compilar o m. Para execução de programas Java, o JRE é suficiente.

JRE é direcionada para a execução de arquivos Java ou seja, do JRE = Java JVM + Classes Pacotes (como util, matemática, lang, awt, etc swing) + de bibliotecas de tempo de execução.
JDK é principalmente direcionada para desenvolvimento java. Ou seja, você pode criar um arquivo Java (com a ajuda de pacotes Java), compilar um arquivo Java e executar um arquivo java

JRE (Java Runtime Environment)

Java Runtime Environment contém JVM, bibliotecas de classes e outros arquivos de suporte. Ele não contém todas as ferramentas de desenvolvimento tais como compilador, depurador, etc Na verdade JVM executa o programa, e ele usa as bibliotecas de classe, e outros arquivos de suporte fornecidos no JRE. Se você quiser executar qualquer programa java, você precisa ter o JRE instalado no sistema



Java Virtual Machine fornece uma maneira independente de plataforma de execução de código; programadores podem se concentrar em software de gravação, sem ter que se preocupar com a forma como ou onde ele será executado.
Se vc quiser apenas executar applets (ex: jogos on-line do Yahoo ou puzzles), JRE precisa ser instalado na máquina.

JVM (Java Virtual Machine)

Todos estamos conscientes que, quando compilamos um arquivo Java, a saída não é um 'exe' mas é um arquivo 'classe.'.Arquivo '. Classe "consiste em códigos de byte Java que são compreensíveis pela JVM. Java Virtual Machine. Ela interpreta o código byte no código de máquina, dependendo do sistema operacional subjacente e combinação de hardware. É responsável por todas as coisas como coleta de lixo, limites de matriz de controlo, etc ... JVM é dependente de plataforma.



JVM é chamado de "virtual", pois fornece uma interface de máquina que não dependem do sistema operacional subjacente e arquitetura de hardware da máquina. Esta independência de sistema operacional e hardware é uma pedra angular do valor write-once executados em qualquer local de programas Java.

Existem diferentes implementações da JVM que estão lá. Estas podem diferir em coisas como o desempenho, confiabilidade, velocidade, etc Essas implementações serão diferentes nas áreas em que a especificação Java não mencionar a forma de implementar os recursos, como a forma como o processo de coleta de lixo funciona é dependente JVM, Java especificação não definir qualquer forma específica de fazer isso.


Veja Também:


Abrindo Arquivos com java
Inserindo hora em sua aplicação

Comentários

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular