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

Algorítimo Para Validar Cpf Segundo Receita Federal em Java

Executar Audio em Java Swing

Abrindo PDF dentro de sua aplicação Swing (Exemplo tela de ajuda)