Qual é a diferença entre JDK e JRE em Java? Explique para um iniciante
Olá a todos! Acabei de começar a estudar Java e fiquei confuso com os termos. Quando baixei o ambiente de desenvolvimento, vi que podia baixar o JDK ou o JRE. Pensei que fossem a mesma coisa, mas depois percebi que o JDK tem o compilador javac, e o JRE não. \n\nEscrevi um programa simples \"Hello, World!\":\n\n```java\npublic class Hello {\n public static void main(String[] args) {\n System.out.println(\"Hello, World!\");\n }\n}\n```\n\nQuando tentei compilá-lo com o comando `javac Hello.java`, apareceu o erro \"javac não é um comando interno ou externo\". Descobri que tinha apenas o JRE instalado. Tive que instalar o JDK. \n\nAgora tenho duas perguntas:\n1. Para que serve o JRE, se sem o JDK não consigo compilar o código?\n2. Por que não podem ser combinados em um único pacote?\n\nExplique, por favor, de forma simples, para que serve cada um desses componentes. Ficarei grato por exemplos e analogias.\n<<>>\n
Analogia rápida: JDK é a cozinha, JRE é o restaurante
\n