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

Algorítimo Para Validar Cpf Segundo Receita Federal em Java

Executar Audio em Java Swing

Gerenciamento de projetos: Introdução, Experiência e Estudo - Parte I