El código de bytes es un código intermedio entre el código fuente y el código de máquina. Es un código de bajo nivel que es el resultado de la compilación de un código fuente que está escrito en un lenguaje de alto nivel. Es procesado por una máquina virtual como Java Virtual Machine (JVM) .
El código de bytes es un código no ejecutable después de que un intérprete lo traduce a código de máquina y luego es comprensible para la máquina. Está compilado para ejecutarse en JVM, cualquier sistema que tenga JVM puede ejecutarlo independientemente de su sistema operativo. Es por eso que Java es independiente de la plataforma. El código de bytes se denomina código portátil.
Codigo de maquina:
El código de máquina es un conjunto de instrucciones que es directamente comprensible por máquina y es procesado por la Unidad Central de Procesamiento (CPU). El código de máquina está en formato binario (0 y 1), que es completamente diferente del código de bytes y el código fuente. Se considera la representación de más bajo nivel del código fuente. El código máquina se obtiene después de la compilación o interpretación. También se le llama lenguaje máquina.
La siguiente figura ilustra el ejemplo de cómo el código fuente de Java se convierte en código de bytes y luego en código de máquina:
Diferencia entre código de bytes y código de máquina:
S. NO. |
Código de bytes |
Codigo de maquina |
01. | Código de bytes que consiste en instrucciones macro binarias, hexadecimales como (nuevo, agregar, intercambiar, etc.) y no es directamente comprensible para la CPU. Está diseñado para una ejecución eficiente mediante software como una máquina virtual. Nivel intermedio | Código de máquina que consta de instrucciones binarias que son directamente comprensibles para la CPU. |
02 | El código de bytes se considera como el código de nivel intermedio. | El código de máquina se considera como el código de bajo nivel. |
03. | El código de bytes es un código no ejecutable generado después de la compilación del código fuente y se basa en un intérprete para ejecutarse. | El código máquina es un conjunto de instrucciones en lenguaje máquina o en formato binario y es ejecutado directamente por la CPU. |
04. | El código de bytes es ejecutado por la máquina virtual y luego por la Unidad central de procesamiento. | El código de la máquina no lo ejecuta una máquina virtual, lo ejecuta directamente la CPU. |
05. | El código de bytes es menos específico para la máquina que el código de máquina. | El código de máquina es más específico para la máquina que el código de bytes. |
06 | Es independiente de la plataforma, ya que depende de la máquina virtual y el sistema que tiene una máquina virtual se puede ejecutar independientemente de la plataforma. | No es independiente de la plataforma porque el código objeto de una plataforma no se puede ejecutar en el mismo sistema operativo. El objeto varía según la arquitectura del sistema y las instrucciones nativas asociadas con la máquina. |
07 | No es necesario convertir todo el código fuente en código de bytes para que lo ejecute la CPU. Parte del código fuente escrito por cualquier lenguaje de alto nivel específico se convierte en código de bytes y luego en código de bytes en código objeto para su ejecución por parte de la CPU. | Todo el código fuente debe convertirse en código de máquina antes de que la CPU lo ejecute. |
Publicación traducida automáticamente
Artículo escrito por Satyabrata_Jena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA