Avatar ·

¿Cuál es la diferencia entre JDK y JRE en Java? Explica para principiantes

¡Hola a todos! Acabo de empezar a aprender Java y me confundí con los términos. Cuando descargaba el entorno de desarrollo, vi que se podía descargar JDK o JRE. Pensé que era lo mismo, pero luego noté que JDK tiene el compilador javac, mientras que JRE no. Escribí un programa simple "Hello, World!": ```java public class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` Cuando intenté compilarlo con el comando `javac Hello.java`, me salió el error "javac no es un comando interno o externo". Resulta que solo tenía instalado JRE. Tuve que instalar JDK. Ahora tengo dos preguntas: 1. ¿Para qué sirve JRE si sin JDK no se puede compilar código? 2. ¿Por qué no se pueden combinar en un solo paquete? Explíquenme, por favor, de forma sencilla para qué sirve cada uno de estos componentes. Agradeceré ejemplos y analogías. <<>>

Analogía breve: JDK es la cocina, JRE es el comedor