En código de máquina y la JVM
En realidad, es un código de máquina de bajo nivel que también se puede usar como su propio lenguaje para un procesador físico. Para ejecutar una aplicación en la JVM, el programa debe compilarse en un formato binario portátil estándar. Suelen ser archivos con una extensión de "class". En este sentido, una aplicación puede constar de varias clases diferentes, y cada clase debe tener su propio archivo de "class" distintivo.
Para simplificar la implementación de las aplicaciones actuales, estos archivos "class" se pueden combinar en archivos con una extensión "jar". Este método de implementación se remonta a cuando se crearon los primeros applets de Java, donde la aplicación tenía que descargar los archivos de clase requeridos en tiempo de ejecución.
El empaque "jar" ????evita problemas de sobrecarga de la red. Recordemos que hace unos años Internet no estaba a su velocidad actual. Tardaba mucho más en descargar todo y realizar la jecución de código JVM
En resumen, se puede decir que la máquina virtual Java actúa como una especie de puente entre el código de bytes que es el resultado de la compilación y el sistema en el que se ejecuta la aplicación. Todos estos son conceptos básicos que se dominan tomando un curso de Java. De hecho, estos son los conceptos fundamentales.
Los programas compilados son ejecutados por la Máquina Virtual Java. Este dispositivo emula un conjunto específico de instrucciones. Esto generalmente se hace usando un compilador justo a tiempo (JIT). Sin embargo, también se puede lograr a través del proceso de interpretación.
La opción de ejecutar usando el compilador Just in Time convierte el código de bytes directamente al código nativo de la plataforma de destino. Esto hará que el programa se ejecute mucho más rápido. Sin embargo, el tiempo requerido para la compilación a menudo dificulta la velocidad de ejecución.