Diferenças entre JVM, JRE, JDK, Java Plataform e 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 (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.

Veja detalhes e composições dos itens acima através da galeria de imagens abaixo:


Ações

Information

14 responses

26 11 2008
6 02 2009
Marcelo

Boa definição dos termos…afinal o usuario comum pode se confundir com tantas siglas..

23 09 2009
Raphael Carvalho

Boa explicação !
As imagens muito boas tbm !

14 04 2010
Chris

me ajudou num trabalho,obg 🙂

5 03 2011
Diego

O blog está ativo ainda? tenho umas duvidas!

Amm, baixei o Eclipse com ele posso programar JAVA ME, SE, EE ???
e o NetBeans é igual o Eclipse?

E A PROGRAMAÇÃO DO ME, SE, EE

é diferente uma da outra?

se for diferente seria possivel você exibir um “Hello World” em cada uma delas aqui…

Obrigado.

11 06 2012
Eu

tendi nada =)

10 03 2017
Anônimo

também nao

7 08 2012
Tiago

Por favor, para me ajudar a entender, somente com a JVM eu não consigo rodar programas, eu preciso mesmo é da JVM e as classes necessárias das aplicações. Tipo as que foram incluídas. É isso ?

Conforme você disse:
“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.”

15 08 2012
Tiago

Valeuu

22 06 2014
Vinicius

Ótimas definições! Ajudou bastante! valeu!

22 01 2015
Bruno Miguel

De facto foi muito bom ter lido este post, bastante didáctico!

19 02 2015
Anônimo

Gostei imenso de sua explicação, começarei a dar explicações de java, e precisava de solidificar esses conceitos todos. Abrigado pela ajuda

10 03 2017
Anônimo

vai toma no vi

19 04 2017
Anônimo

Gostei bastante, precisava de uma explicação assim. Obrigada!

Deixe um comentário