logo

¿Se interpreta o compila Java?

El lenguaje de programación Java fue desarrollado a principios de los años 1990 por Sun Microsystem. Java es un lenguaje de programación orientado a objetos, simple, eficiente, robusto y de propósito general. Se utiliza principalmente para aplicaciones empresariales basadas en web. Inicialmente fue diseñado para aplicaciones de red integradas que se ejecutan en diferentes plataformas.

Cuando empezamos a aprender programación java , surge una pregunta: si Java se interpreta o se compila, o ambas cosas. Además, el entrevistado puede hacer esta pregunta en sus entrevistas relacionadas con Java. Entonces la respuesta a esta pregunta es Java es interpretado y compilado. . Sin embargo, no está claro si Java está compilado o interpretado. No genera código de máquina después de compilar un archivo fuente ni interpreta el archivo fuente para ejecutar instrucciones de código línea por línea. Para responder a esta pregunta, debemos comprender por qué Java es un lenguaje independiente de la plataforma. Lo que significa que podemos escribir código Java en una plataforma y ejecutarlo en otras plataformas, como una máquina operativa de hardware, sin realizar ningún cambio. Entonces, comprender cómo Java logra la independencia de plataforma proporcionará una respuesta completa a esta pregunta.

Java es completamente portátil; El mismo código Java se ejecutará de manera idéntica en diferentes plataformas, independientemente de la compatibilidad del hardware o los sistemas operativos.

El código fuente de Java primero se compila en un código de bytes binario utilizando el compilador de Java, luego este código de bytes se ejecuta en la JVM (máquina virtual Java), que es un intérprete basado en software. Por tanto, Java se considera interpretado y compilado.

El código de bytes compilado permite JVM ser pequeño, eficiente y de rápido rendimiento. Además, este código de bytes proporciona portabilidad al lenguaje de programación Java. Permite ejecutar este código en cualquier JVM que esté implementada correctamente en una máquina, independientemente de los componentes y configuraciones de hardware y software de la máquina. Casi todos los navegadores web contienen JVM para ejecutar el código del subprograma Java.

Entendámoslo con un simple programa Java:

Programa Java simple y está funcionando

Cree un archivo .java simple usando su editor de texto favorito:

¿Se interpreta o compila Java?

Ponga el siguiente código en él:

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

Y guarde el archivo.

Ahora, revisa nuestro directorio donde hemos guardado el archivo .java.

¿Se interpreta o compila Java?

Podemos ejecutar una aplicación Java siguiendo dos pasos.

  1. Compilar el programa Java
  2. Ejecutar la aplicación

Compile la aplicación Java:

Para compilar el programa Java, ejecute el siguiente comando:

 javac Basic.java 

El comando anterior compilará el programa Java y creará un archivo .class del programa Java que contiene el código de bytes de la aplicación Java.

¿Se interpreta o compila Java?

Podemos ver en el resultado anterior que después de compilar el programa Java, se crea un archivo .class. Este archivo contiene el código de bytes del programa Java. Podemos ejecutar este código de bytes en cualquiera de las máquinas que implementen JVM.

Ejecute la aplicación:

Para ejecutar esta aplicación, ejecute el siguiente comando:

 java Basic 

El comando anterior ejecutará el código de bytes y realizará la funcionalidad del programa:

¿Se interpreta o compila Java?

Del resultado anterior, hemos impreso una declaración simple.

Ejecución paso a paso del programa Java:

¿Se interpreta o compila Java?
  1. Escriba código Java y guarde el archivo con .Java
  2. Ahora, este archivo se compilará utilizando el compilador de Java, que es javac.
  3. El compilador de Java compilará el archivo Java y creará un archivo .class que tiene código de bytes (que en realidad no es un código de máquina, a diferencia del compilador de C).
  4. Este código de bytes generado es un código no ejecutable y ahora necesita un intérprete para convertirlo en código de máquina. Aquí la JVM lo maneja.
  5. Ahora, JVM ejecutará este código de bytes para ejecutar el código de bytes de Java en una máquina.
  6. Ahora, nuestro programa realizará la funcionalidad y dará el resultado deseado.

Conclusión:

Java se considera interpretado y compilado. Utiliza un compilador de Java (javac) y JVM (que en realidad es un intérprete basado en software) para ejecutar completamente una aplicación Java en una máquina.