Diferencia entre JDK, JRE y JVM

La diferencia entre JDK, JRE y JVM es una de las preguntas más populares de la entrevista. También se le puede pedir que explique JDK vs JRE vs JVM.

Diferencia entre JDK, JRE y JVM

JDK, JRE y JVM son conceptos centrales del lenguaje de programación Java. No usamos estos conceptos en programación. Pero, como desarrollador de Java, deberíamos conocerlos.

JDK

Java Development Kit, también conocido como JDK, es el componente principal de Java Environment y proporciona todas las herramientas, ejecutables y binarios necesarios para compilar, depurar y ejecutar un programa Java.

JDK es un software específico de la plataforma y es por eso que tenemos instaladores separados para los sistemas Windows, Mac y Unix.

Podemos decir que JDK es el superconjunto de JRE ya que contiene JRE con compilador, depurador y clases centrales de Java.

JVM

JVM es el corazón del lenguaje de programación Java. Cuando ejecutamos un programa Java, JVM es responsable de convertir el código de bytes al código específico de la máquina.

JVM también depende de la plataforma y proporciona funciones básicas de Java como administración de memoria, recolección de basura, seguridad, etc.

JVM es personalizable y podemos usar opciones de Java para personalizarlo. Por ejemplo, la asignación de memoria mínima y máxima a JVM.

JVM se llama virtual porque proporciona una interfaz que no depende del subyacente sistema operativo y hardware de la máquina.

Esta independencia del hardware y el sistema operativo hace que el programa Java se escriba una vez, se ejecute en cualquier lugar.

JRE

JRE es el implementación de JVM. Proporciona una plataforma para ejecutar programas Java. JRE consta de JVM, binarios de Java y otras clases para ejecutar cualquier programa con éxito.

JRE no contiene ninguna herramienta de desarrollo como compilador, depurador, JShell de Java, etc.

Si solo desea ejecutar un programa java, puede instalar solo JRE. No necesita JDK porque no se requiere desarrollo o compilación de código fuente de Java.

Ahora que tenemos un conocimiento básico de JDK, JVM y JRE, veamos la diferencia entre ellos.

JDK vs JRE vs JVM

Veamos algunas de las diferencias importantes entre JDK, JRE y JVM.

  1. JDK es para propósitos de desarrollo mientras que JRE es para ejecutar los programas java.
  2. JDK y JRE contienen JVM para que podamos ejecutar nuestro programa java.
  3. JVM es el corazón del lenguaje de programación java y proporciona independencia de plataforma .

Compilador Just-In-Time (JIT)

A veces encontrará JIT junto con JVM, JDK y JRE en libros de texto. JIT es parte de la JVM que optimiza el proceso de conversión de código de bytes a un lenguaje específico de la máquina. Compila códigos de bytes similares al mismo tiempo y reduce el tiempo total necesario para la compilación del código de bytes en un lenguaje específico de la máquina.

Leave a Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *