JRE, JVM y JDK

La semana pasada, me sorprendió que algunas personas con mas de 3 años de experiencia como desarrolladores Java (a los que estamos capacitando en Spring para una empresa internacional), no les quedaba tan claro la diferencia conceptual de una maquina virtual, el entorno de ejecución y el kit de desarrollo con Java, es por ello que les comparto mi siguiente definición corta para entender "que es" y para "que sirve".

JRE

Java Runtime Environment, el entorno de ejecución de Java. ¿Qué es? un entorno en tiempo de ejecución, compuesto de una maquina virtual JVM, librerías y otros componentes (como el garbage collector), que permiten la ejecución de programas escritos en Java. Sirve como un intermediario entre tu aplicación Java (conjunto de bytecodes) y el sistema operativo. Es lo que hace que puedes escribir un programa en Linux y ejecutarlo en Windows.

JVM

Como les explique en el punto anterior, un componente del entorno de ejecución es la maquina virtual de java (JVM). Funciona como una especie de interprete entre el código compilado de java (bytecodes) y la plataforma donde se ejecuta.

JDK

Aunque en realidad todos tenían claro que el JDK o Kit de desarrollo de Java, Lo resumo de la siguiente manera: es un conjunto de herramientas (software) que permite convertir el código escrito en Java a bytecodes (compilar).

Espero esta información sea clara, y vamos a discutir si algo de aquí no es tan preciso.


Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas