Mostrando entradas con la etiqueta verificador de códigos de bytes. Mostrar todas las entradas
Mostrando entradas con la etiqueta verificador de códigos de bytes. Mostrar todas las entradas

abril 17, 2010

Cargador de clases.

El cargador de clases es el responsable de encontrar y cargar los códigos de bytes (.class ) requeridas por una aplicación Java. Una vez que se cargan, el cargador de clases envía al verificador del código de bytes todos los archivos de la aplicación, asegurándose de que se apeguen a las especificaciones adecuadas. De ahí que el cargador de clases asuma que los archivos de la aplicación se originan de un compilador no confiable.

Bibliografía consultada:
  • Como programar en Java, Deitel & Deitel, pág. 12, Séptima Edición 2008, Editorial Pearson Education. 

Verificador de códigos de bytes.


El verificador de códigos de bytes examina los códigos de bytes para asegurar que sean válidos y no violen las restricciones de seguridad. Esto significa que solo una cantidad limitada de secuencias de códigos de bytes constituye un programa válido. La verificación de código también asegura que los patrones de bits arbitrarios no pueden usarse como direcciones de memoria, que los tipos de parámetros sean los correctos y que no existan conversiones ilegales de datos.

Bibliografía consultada:
  • Como programar en Java, Deitel & Deitel, pág. 13, Séptima Edición 2008, Editorial Pearson Education. 

Seguridad en el código Java


Una de las ventajas de Java es que es distribuido. Su independencia de la plataforma significa que el código escrito en una máquina se puede ejecutar con facilidad en otro. Esta situación puede originar código malicioso: código que ejecuta tareas desconocidas y no deseadas por el usuario. Los diseñadores del lenguaje implementaron políticas de seguridad que comprenden:

  • Verificación estricta durante la compilación.
  • Verificación de los códigos de bytes utilizando un cargador de clases.

Máquina Virtual de Java. (JVM)

Una Máquina Virtual de Java (JVM por sus siglas en inglés) ejecuta instrucciones expresadas en códigos de bytes que son generados por el compilador del lenguaje Java.


La JVM es uno de los componentes de la plataforma Java y se sitúa en el nivel superior al Hardware sobre el Sistema Operativo. Actúa como un puente que entiende tanto el código de bytes, como el sistema sobre el que se pretende ejecutar.

Con la JVM se logra la portabilidad del lenguaje por lo que existen distintas implementaciones para Sistemas Operativos y así un programa .class escrito en el Sistema Operativo Windows puede ser interpretado en el Sistema Operativo Linux. De ahí el famoso axioma: “Write Once, Run Anywhere”, que se traduce: Escríbelo una Vez, Ejecútalo Donde Sea.

Bibliografía consultada:

abril 06, 2010

Intérprete Java.

La Máquina Virtual ejecuta los códigos de bytes para ello utilizamos el comando java seguido del nombre del archivo que contiene los códigos de bytes.


Por ejemplo para ejecutar una Aplicación Java de nombre MiPrograma.class tendríamos que invocar el comando java para iniciar la Máquina Virtual Java: java MiPrograma


Observa que no es necesario utilizar la extensión .class. Una vez que hemos iniciado el proceso la Máquina Virtual utiliza un cargador de clases para colocar en memoria principal los archivos .class. A medida que se cargan las clases, un verificador de códigos de bytes examina los códigos para asegurar que sean válidos y que no violen las restricciones de seguridad de Java. Luego entonces, la Máquina Virtual ejecuta los códigos de bytes del programa.