Conceptos básicos: JVM, JDK, JRE

 Para dar inicio a conocer el mundo Java es esencial comprender algunos términos como JVM, JDK y JRE, ya que estos componentes son fundamental en el entorno de desarrollo y ejecución de Java, ya que nos permitirá comprender las relaciones y funciones que permitirá desarrollar mejor tus proyectos.

1. JVM (Java Virtual Machine)

La JVM cuya siglas significa Máquina Virtual de Java es uno de los componente muy importante en el lenguaje de programación de Java, se podría decir que es el corazón mismo del lenguaje, ya que este ejecuta el programa compilado en extensión .class. La JVM es una máquina abstracta que ejecuta los bytecode y esta máquina se instala en el sistema operativo anfitrión. Por lo tanto, la JVM tiene algunas característica que a continuación se detalla:

  • Función principal: La JVM se encarga de traducir el bytecode en instrucciones que el sistema operativo en donde se esté ejecutado pueda entender.
  • Independencia de la plataforma: Esta independencia es lo que se basa el lema de Java en la que dicen  "Escribe una vez, ejecuta en cualquier lugar", más conocido este lema en inglés como WORA, ya que un programa escrito en Java cuando se compila en un bytecode, este puede ser ejecutado en cualquier sistema operativo que tenga instalado la JVM compatible, sin importar la arquitectura que tenga el sistema operativo anfitrión.
  • Componentes clave de la JVM:
    • Class Loader: Encargado de cargar todas las clases que requiera el programa.
    • Bytecode Verifier: Encargado de verificar que cada bytecode no tenga vulnerabilidades y sobre todo que esté correctamente formado.
    • Execution Engine: Este componente es el que ejecuta el bytecode una vez verificado.

2. JDK (Java Development Kit)

El Kit de Desarrollo de Java - JDK es donde se encuentran todas las herramientas necesarias para poder desarrollar aplicaciones escrita en Java, en esta caja de herramienta viene Incluida todo lo necesario para convertir el código fuente en bytecode y así poder ejecutar el programa.

  • Componentes del JDK:
    • Javac: Este comando es permite convertir el código fuente escrito en Java y transformarlo en archivo .class, ósea que es el compilador de Java.
    • Javadoc: Esta herramienta es el que genera la documentación del código fuente a partir de comentarios especiales.
    • Jar: Esta herramienta agrupa los múltiples archivos de clases de un proyecto en un solo archivo con extensión .jar (Java ARchive).
  • JDK vs. JRE: En el JDK viene incluido el JRE y otras herramientas de desarrollo. Por lo tanto si solo se quiere ejecutar aplicaciones Java, solo se necesita el JRE, mientas que si va a desarrollar software en Java se necesitas el JDK.

3. JRE (Java Runtime Environment)

El JRE cuyas siglas son Entorno de Ejecución de Java es el entorno que nos permite poder ejecutar aplicaciones desarrolladas en Java en una dispositivo, la JRE está incluida la JVM, la bibliotecas de clases y demás archivos de soporte que se requieren para ejecutar aplicaciones.

  • Función principal: Una de la función principal de la JRE es suministrar la JVM y las bibliotecas de clases necesarias para poder ejecutar aplicaciones desarrolladas en Java, en la JRE no está incluida herramientas de desarrollo como por ejemplo el compilador, la JRE solo esta diseñado para ejecutar  aplicaciones que se desarrollen en Java.
  • Componentes del JRE. Los componentes básico de un JRE son:
    • Bibliotecas de clases estándar: Estás son un conjunto de clases precompiladas como java.lang, java.util, etc, misma que permiten la ejecución de programas Java.
    • JVM: Como ya se indicó, la JVM está dentro del JRE y la cual permite ejecutar los bytecodes.

Relación entre JVM, JDK y JRE

  • Máquina Virtual de Java - JVM, está es la responsable de que se ejecute los programas en Java.
  • Entorno de Ejecución de JavaJRE, En esta se encuentra incluida la JVM y todas las bibliotecas de clases que son necesarias para poder ejecutar los programas en Java.
  • Kit de Desarrollo de Java – JDK, En este paquete se encuentra incluida la JRE y todo el conjunto de herramientas de desarrollo que son necesarios para poder compilar y desarrollar aplicaciones en Java.

Bibliografía en formato APA 7:

  • Deitel, P. J., & Deitel, H. M. (2017). Java: How to Program (11th ed.). Pearson.
  • Gosling, J., Joy, B., Steele, G., & Bracha, G. (2005). The Java Language Specification. Addison-Wesley.
  • Horstmann, C. S., & Cornell, G. (2019). Core Java Volume I–Fundamentals (11th ed.). Pearson Education.
  • Oracle Corporation. (2023). The Java Tutorials. https://docs.oracle.com/javase/tutorial/

© 2024 Vicente Rodríguez Echeverría. Todos los derechos reservados.