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.

Primer programa en Java: "Hola Mundo"

 

Uno de los primero programa por lo que generalmente se empieza a programa en Java es el programa "Hola Mundo", este programa es un ejemplo clásico para conocer la estructura básica del lenguaje de programación y así poder guiar a los principiantes sobre le mundo Java. El programa lo que realiza es mostrar por pantalla la frase "Hola Mundo" en la consola MS-DOS, y es una manera excelente de poder comprender la estructura básica de un programa desarrollado con Java.

Estructura del programa

A continuación, se muestra el código fuente del programa "Hola Mundo" en Java:

public class HolaMundo {

    public static void main(String[] args) {

        System.out.println("¡Hola, Mundo!");

    }

}

Explicación del código

  1. public class HolaMundo { }
    • Clase: Todos los programas que se desarrollen en Java debe tener al menos una clase (class), para este ejemplo la clase se le llamo HolaMundo, que es el nombre que tendrá el archivo que contiene el código del programa (HolaMundo.java).
  2. public static void main(String[] args) { }
    • Método main: Este método es el punto de entrada de cualquier programa en Java, por lo tanto, cada vez que se ejecuta un programa en Java, el primer método que se ejecuta es el main.
    • Las palabras claves como son public, static, y void tienen un uso y significado específico en Java:
      • public: Significa que se puede acceder al método que se declare desde cualquier otra clase.
      • static: Significa que para ejecutar este método no se necesita crear una instancia de la clase.
      • void: Significa que el método no retorna ningún valor.
  3. System.out.println(” ¡Hola, Mundo!”);
    • Imprimir en consola: Este línea de código significa que se está usando la clase System, cuyo método println permite mostrar por pantalla la cadena de texto “¡Hola, Mundo!", para aquello el texto a mostrar por pantalla debe estar encerrado entre comillas dobles.

Compilar y ejecutar el programa

Para ejecutar el programa HolaMundo { }, se debe siguen los siguientes pasos:

  1. Escribir el código: El código escrito se debe guarda en un archivo cuyo nombre será HolaMundo.java.
  2. Compilar el código: Una vez guardado el archivo, se debe usar el compilador de Java, para aquello se debe utilizar el siguiente comando:

javac HolaMundo.java

Al ejecutar el comando javac se generará un archivo cuyo nombre será HolaMundo.class, mismo que contiene el bytecode del programa.

  1. Ejecutar el programa: Una vez obtenido el archivo compilado HolaMundo.class,  el paso siguiente es ejecutar el bytecode en la JVM (máquina virtual de java):

java HolaMundo

¡Este comando permitirá ejecutar el programa y mostrará por pantalla el mensaje ¡Hello, World!.


Bibliografía:

  • 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.

 

¿Qué es Java y cómo funciona?

 

El lenguaje de programación Java es de propósito general, es orientado a objetos y concurrente, construido con el fin de ser lo más independiente de plataforma (sistema operativo) posible. Java fue desarrollado en el año de 1991 bajo la denominación “Oak” por Sun Microsystems y lanzado por primera vez en 1995 con la denominación de Java por asunto de derecho de autor, en la actualidad esta siendo mantenido y desarrollado por Oracle Corporation quien adquirió Sun Microsystems en el año 2010.

El lema "Write Once, Run Anywhere" (WORA), el cual significa que el código fuente que se haya escrito en en el lenguaje de programación Java pueda ser ejecutado en cualquier sistema operativo, basta con que tenga instalada la Máquina Virtual de Java (JVM) es una de las principales características que posee, ya que no se debe realizar modificaciones alguna al código para ejecutarse en varias plataforma, convirtiéndolo en el lenguaje de programación ideal para desarrollar aplicaciones informática para computadores personales, servidores y dispositivos móviles, en especialmente con el sistema operativo Android.

Características Clave de Java:

  1. Orientado a objetos: Java es un lenguaje de programación 100% orientado a objeto (POO), lo que permite brindar a los programadores una mejor organización y reutilización del código gracias a los conceptos de clases, objetos, herencia, y polimorfismo.
  2. Portabilidad: Gracias a la máquina virtual de java - JVM todo código fuente escrito en el lenguaje de programación en Java puede ejecutase en cualquier sistema operativo siempre y cuando dicho código fuente haya sido complicado en el formato intermedio llamado bytecode.
  3. Seguridad: Java cuenta con mecanismo de seguridad interna que permite reducir las operaciones que sean consideradas como peligrosas, motivo por lo cual Java permite crear aplicaciones de computadora sólidas y sobre todo seguras.
  4. Multithreading: Java es un lenguaje de programación denominado multi-hilo, esto significa que permite ejecutar varias tareas de una manera concurrente (al mismo tiempo).
  5. Recuperación automática de memoria: Gracias a la Garbage Collector, Java gestiona de una manera automática el uso de la memoria, esto significa que Java se encarga de liberar la memoria que se encuentre ocupada por devlaraciones de variables y/o objetos que ya no está siendo utilizado, evitando errores y fugas de memoria.

¿Cómo funciona Java?

El enfoque compilado e interpretado que Java utiliza que consta de varios pasos como:

  1. Escritura del código fuente: El código fuente escrito por los desarrolladores se guarda en archivos con la extensión .java.
  2. Compilación a bytecode: El código fuente compilado de Java (javac) se convierte en bytecode, el cual es un formato intermedio que se almacena en archivos con la extensión .class y que no depende de ninguna plataforma.
  3. Ejecución en la JVM: El código intermedio es ejecutado por la Java Virtual Machine (JVM), el cuál actúa como un intérprete del archivos con la extensión .class y convierte el bytecode en instrucciones que puedan ser entendido por el sistema operativo anfitrión, ejecutando la aplicación sin necesidad de modificar el código fuente.

Esta característica de Java es lo que lo hace atractivo a la hora de elegir un lenguaje de programación para el desarrollo de aplicaciones, ya que es un lenguaje independiente de la plataforma, en la cual cada sistema operativo debe tener instalado la JVM, y esta solo ejecutar el mismo bytecode, asegurando con esto la portabilidad del código.


Bibliografía:

  • 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.