java
31 10 2007
Sempre me pergutam sobre as diferenças entre JRE e JDK, Java e JavaEE, por isto resolvi descrevê-las aqui:
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