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 depuradorjdb, a utilidadejavadoce outras.
Uma fórmula simples para lembrar:
JDK = JRE + Ferramentas de desenvolvimentoJRE = JVM + BibliotecasAgora, 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 -versionSe 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 -versionSe você vir:
javac 17.0.2Parabé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.