Saltar al contenido principal

Qué es Java y cómo se ejecuta

Cuando escribimos un programa, el ordenador no entiende directamente palabras como class o println. Necesitamos un proceso que transforme nuestro texto en algo que pueda ejecutar.

En esta unidad seguiremos ese recorrido sin detenernos todavía en la sintaxis del programa.

Java es un lenguaje y una plataforma​

Java es el lenguaje con el que expresamos instrucciones. También llamamos plataforma Java al conjunto de herramientas que permite preparar y ejecutar esas instrucciones.

Nuestro punto de partida será un archivo de texto llamado Saludo.java:

public class Saludo {
public static void main(String[] args) {
System.out.println("Hola desde Java");
}
}

No necesitas comprender cada palabra todavía. Por ahora basta con reconocer dos cosas:

  • el código fuente es texto que una persona puede leer y modificar;
  • el nombre Saludo coincide con el archivo Saludo.java.

Del código a la pantalla​

Java realiza el recorrido en dos pasos:

Saludo.java  →  compilador javac  →  Saludo.class  →  JVM  →  salida
código fuente bytecode Hola desde Java

1. Compilar​

El compilador revisa el código y lo traduce a bytecode:

javac Saludo.java

Si no encuentra errores, crea Saludo.class. Ese archivo no es otro documento para editar: contiene instrucciones preparadas para la máquina virtual de Java.

2. Ejecutar​

La JVM, o máquina virtual de Java, ejecuta el bytecode:

java Saludo

Observa que aquí usamos el nombre de la clase, sin .java ni .class. La salida es:

Hola desde Java

Compilar y ejecutar son acciones diferentes. Si modificas Saludo.java, debes volver a compilar para que Saludo.class recoja el cambio.

¿Por qué puede funcionar en varios sistemas?​

El bytecode no está ligado directamente a Windows, macOS o Linux. Cada sistema utiliza una JVM compatible que ejecuta ese mismo bytecode.

                       → JVM para Windows → ejecución
el mismo bytecode .class → JVM para macOS → ejecución
→ JVM para Linux → ejecución

Esto facilita ejecutar un programa en distintos sistemas, siempre que dispongan de una versión compatible de Java y que el programa no dependa de algo específico del entorno. Por eso conviene hablar de portabilidad, no prometer que cualquier programa funcionará siempre y sin cambios en cualquier lugar.

JDK, JVM y JRE sin confusiones​

  • JVM: ejecuta el bytecode.
  • JRE: entorno necesario para ejecutar aplicaciones Java; incluye una JVM y componentes de apoyo.
  • JDK: kit para desarrollar; incluye herramientas como javac y lo necesario para ejecutar los programas durante el desarrollo.

Para este curso instalaremos un JDK. Así tendremos tanto el compilador como el comando de ejecución.

Comprueba el recorrido​

Ordena mentalmente estas piezas:

JVM · archivo .class · javac · archivo .java · resultado

La secuencia correcta es:

archivo .java → javac → archivo .class → JVM → resultado

Práctica: predice antes de responder​

Partimos de Mensaje.java, lo compilamos y después cambiamos una frase en el archivo fuente, pero no volvemos a compilar. ¿Qué frase mostrará java Mensaje?

Solución razonada: mostrará la versión anterior. La JVM ejecuta el bytecode existente en Mensaje.class; editar el código fuente no actualiza ese archivo automáticamente.

Práctica: detecta el paso​

Relaciona cada necesidad con su herramienta:

  1. Transformar código fuente en bytecode.
  2. Ejecutar el bytecode.
  3. Escribir o modificar el código fuente.

Solución:

  1. El compilador javac.
  2. La JVM, mediante el comando java.
  3. Un editor de texto o de código.

Qué debes llevarte​

No necesitas memorizar siglas aisladas. Conserva este modelo:

escribo código fuente → compilo → obtengo bytecode → la JVM lo ejecuta

Para recorrerlo de verdad necesitamos un JDK, un editor y una terminal. En la siguiente unidad prepararemos esas herramientas y ejecutaremos nuestro primer programa.