Saltar al contenido
Portada » Diferencias entre JDK, JRE y JVM

Diferencias entre JDK, JRE y JVM

En el desarrollo y ejecución de aplicaciones Java, el JDK (Java Development Kit) es un entorno de desarrollo software usado para desarrollar aplicaciones Java. Incluye el JRE (Java Runtime Environment), un intérprete/cargador (Java), un compilador (javac), un empaquetador (jar), un generador de documentación (javadoc) y otras herramientas necesarias en desarrollo.

Ahora necesitamos un entorno en el cual ejecutar nuestros programas. Para este cometido utilizaremos el JRE (Java Runtime Environment), también es conocido como Java RTE. El JRE provee de los requerimientos mínimos para ejecutar una aplicación Java. El JRE consta de la JVM (Máquina Virtual de Java), clases core y ficheros de apoyo.

JDK (Java Development Kit)

Proporciona el entorno para desarrollar y ejecutar programas Java. Incluye dos cosas fundamentales:

  • El JRE, para ejecutar programas Java.
  • Las herramientas de desarrollo.

JRE (Java Runtime Environment)

Es un paquete de instalación que provee un entorno para ejecutar programas Java pero no para desarrollarlos. Solo se usa para aquellos que sean usuarios finales de tus programas, o servidores donde tenga que ejecutar una aplicación Java.

Componentes del JRE:

  • Tecnologías de despliegue: Java-plugin, Java web start, etc.
  • Herramientas de interfaz de usuario: AWT, Swing, etc.
  • Librerías de integración: JNDI, RMI, JDBC, IDL, etc.
  • Otras librerías base: Beans, JMX, JNI, etc.
  • Lang y librerías de utilidades: JAR, Logging, zip, reflection, etc.
  • Java Virtual Machine.

JVM (Java Virtual Machine)

Es una parte fundamental del JRE y del JDK, está contenida en ambas. La JVM es la responsable de ejecutar el programa Java línea a línea, la JVM también es conocida como el intérprete.


Más recursos Java

AsuntoDescripción
Tutorial básico y sintaxisTutorial básico Java y sintaxis. Aprende los fundamentos del lenguaje.
Hilos (Threads)Aprende a manejar hilos y las cuestiones básicas de la concurrencia
Funciones LambdaAquí te enseñamos las nociones más importantes para arrancas con funciones lambda
PalíndromosPrograma de ejemplo para el uso de palíndromos en Java.
Máquina Virtual de JavaTe explicamos el funcionamiento de la máquina virtual de java (Java Virtual Machine – JVM)
JDK, JRE y JVMDiferencias entre el JDK, JRE y JVM.
Mejores libros Java en EspañolHazte con los mejores libros Java para aprender paso a paso y profundizar en las mejores prácticas
TensorFlowManejo del API de TensorFlow para la construcción de grafos de operaciones y su ejecución
Tutorial Log4jTutorial para el manejo de Log4j, herramienta ágil y flexible para la gestión de Logs en Java
Java SecurityEntiende y aplica las posibilidades que da Java para mantener la seguridad
Tutorial JConsoleAprende los conceptos básicos de monitorización de procesos Java con JConsole
JavaFXTutorial de JavaFX, librería gráfica moderna para construcción de GUIs en móvil, escritorio y web.
Estructuras de datos en JavaExplicación y ejemplos de las estructuras de datos más importantes: listas, pila, cola, arbol.
JavaapiConjunto de clases, interfaces, métodos y paquetes que forman parte de la plataforma Java estándar
Algoritmo HuffmanMétodo eficiente para codificar datos, asignando códigos más cortos a los caracteres más frecuentes