JDK e JRE: qual a diferença? Análise de uma pergunta popular de iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

JDK ou JRE: o que um iniciante deve escolher? Vamos entender de uma vez por todas



Se você está começando sua jornada no mundo Java, mais cedo ou mais tarde vai se deparar com a pergunta: "O que exatamente eu preciso baixar? JDK, JRE, ou talvez apenas a JVM seja suficiente?". Essa pergunta é tão popular que no Stack Overflow ela acumulou milhares de visualizações e dezenas de respostas. E não é por acaso — a confusão entre essas siglas pode arruinar seu primeiro projeto logo no início.



Imagine que Java é uma cozinha. A JRE é um restaurante pronto, onde você pode ir e comer. Já o JDK é a própria cozinha, com fogões, facas e livros de receitas, onde você pode preparar qualquer coisa. Percebe a diferença? Vamos organizar tudo para que você nunca mais tenha dúvidas sobre o que baixar.



Resumindo o essencial: JVM, JRE, JDK



Antes de mergulharmos nos detalhes, vamos entender a hierarquia básica. Muitos iniciantes pensam que são três produtos diferentes. Na verdade, é como uma boneca russa, onde um componente está dentro do outro.



  • JVM (Java Virtual Machine) — é o coração. A máquina virtual que executa o bytecode. Sozinha, ela é inútil, como um motor sem carro.
  • JRE (Java Runtime Environment) — é a JVM + um conjunto de bibliotecas padrão (por exemplo, java.lang, java.util). É o ambiente para executar programas Java prontos.
  • JDK (Java Development Kit) — é a JRE + ferramentas de desenvolvimento: o compilador javac, o depurador jdb, a utilidade javadoc e outras.


Uma fórmula simples para lembrar:



JDK = JRE + Ferramentas de desenvolvimentoJRE = JVM + Bibliotecas


Agora, quando você vir no site da Oracle a linha "Download JDK", saberá que dentro dele há tudo o que é necessário tanto para executar quanto para escrever código.



Para que serve a JRE se já existe o JDK?



Boa pergunta. Se o JDK inclui a JRE, por que baixar "apenas o ambiente de execução"? A questão é o tamanho e o público-alvo.



Imagine que você criou um super jogo em Java e quer que um amigo jogue. Seu amigo não é programador. Ele não vai compilar nada. Ele só precisa de uma "caixa" para executar o arquivo .jar. Levar para ele um JDK inteiro de quase 300 MB não faz sentido. A JRE ocupa menos espaço (cerca de 100-150 MB) e não contém ferramentas extras que podem confundir um usuário comum.



É por isso que nos sites de download de Java para usuários comuns é oferecida a JRE. E para desenvolvedores, o JDK. Nas versões mais recentes (Java 11+), a Oracle foi além e praticamente os unificou, tornando o JDK um módulo "autossuficiente". Mas conceitualmente, a diferença permanece.



Como verificar o que está instalado?



A maneira mais simples é abrir o terminal (linha de comando) e digitar alguns comandos. Isso economizará horas de pesquisa no Google quando algo der errado.



Passo 1. Verifique a versão do Java (JRE):



java -version


Se a JRE estiver instalada, você verá algo como:



java version "17.0.2" 2022-01-18 LTSJava(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)


Passo 2. Verifique o compilador (JDK):



javac -version


Se você vir:



javac 17.0.2


Parabéns! Você tem o JDK instalado. Se o comando não for encontrado, você tem apenas a JRE ou o Java não está configurado nas variáveis de ambiente (PATH).



Exemplo prático: por que sem o JDK você não consegue escrever código



Vamos imaginar uma situação. Você instalou apenas a JRE (por exemplo, para jogar Minecraft). Abre o bloco de notas e escreve seu primeiro "Hello, World!":



public class HelloWorld {    public static void main(String[] args) {        System.out.println("Olá, mundo!");    }}


Salva o arquivo como HelloWorld.java.

Blogs

Book Recommendations