Diferença Entre JDK,JVM, JRE

Com tantas perguntas sobre este assunto, pessoas com uma pequena confusão em sua cabeça querem saber qual a diferença e o que é cada um destes componentes.

Então venho "Clarear" sua mente.



JVM (Java Virtual Machine)

É a peça chave para fornecer capacidade de multiplataforma para as aplicações java: “Write once, run everywhere”.
A JVM é a máquina virtual responsável por interpretar e executar o código Java compilado (bytecode) e portanto são provedoras de formas e meios de o aplicativo conversar com o sistema operacional.

Esta abstração viabiliza a implementações da JVM para diferentes plataformas de hardware e de sistemas operacionais, o que possibilita que aplicativos Java sejam multi-plataforma.
Uma JVM pode ser desenvolvida por qualquer organização (comunidades / institutos / empresas), desde que sigam as especificações para a Java Virtual Machine.

JRE (Java Runtime Environment)

É composto pela JVM e pela biblioteca de classes Java utilizadas para execução de aplicações java, estas bibliotecas são chamadas de APIs Java.
Portanto para rodarmos uma aplicação java é necessário instalarmos uma JRE no computador onde o software foi instalado.

JDK (Java Development Kit)

É o conjunto de ferramentas necessárias para realizar o desenvolvimento de aplicações java e inclui a JRE e ferramentas de programação, como:
  • javac – compilador
  • jar – empacotador
  • javadoc – ferramenta para geração de documentação

Java Platform

São “distribuições” ou edições de programas e APIs java relacionadas entre si.
Estas edições têem o intuito de facilitar o download e a e instalação de ferramentas e APIs para realizar o desenvolvimento e execução de aplicações java.
Cada edição contém ferramentas e APIs específicas para um determinado tipo de aplicação, veja quais são as edições disponíveis:
  • Java SE
    É a base da plataforma Java e é utilizada para desenvolver aplicativos desktops e servidores.
  • Java EE
    Necessária para desenvolver softwares que rodam em servidores de aplicações (geralmente aplicações web).
  • Java ME
    Utilizada para desenvolver softwares para dispositivos móveis e para dispositivos com pouca capacidade de processamento, como por exemplo: telefones celulares e impressoras.

Java

É a linguagem de programação Java.

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