Mostrando entradas con la etiqueta Máquina Virtual de Java. Mostrar todas las entradas
Mostrando entradas con la etiqueta Máquina Virtual de Java. Mostrar todas las entradas

noviembre 06, 2010

Aplicación

Una aplicación es un programa que permite hacer algo útil con la computadora. Una aplicación en Java se compone como mínimo de un archivo .class que debe contar como mínimo con el método main. Entonces la aplicación inicia su ejecución cuando usted utiliza el comando java para iniciar la Máquina Virtual de Java (JVM).

Bibliografía consultada:
  • Deitel, Paul J. Y Harvey M. Deitel, Cómo programar en Java, Séptima Edición, Pearson Educación, México 2008, pág. 35.

octubre 09, 2010

Portabilidad

Es la facilidad para que un sistema software pueda ejecutarse sobre diferentes plataformas informáticas. Para ello, debe depender lo menos posible de su entorno de ejecución, y no implementar las particularidades de una máquina o sistema concreto.


Java fue diseñado como un lenguaje que pueda portarse fácilmente a cualquier computadora y sistema operativo. La portabilidad se logra mediante la compilación en un código independiente conocido como códigos de bytes que se ejecutará en una máquina virtual de java.

Bibliografía consultada:
  • Java para estudiantes, Douglas Bell, Mike Perr, pág. 546, 3ª Edición 2003, Editorial Pearson Education.
  • Introducción a la ingeniería del software, F. Alonso Amo, Loïc Martínez Normand, pág. 120, Edición 2005, Editorial Delta Publicaciones.

abril 30, 2010

Método main

La línea:

public static void main( String[] args ) 

es el punto de inicio de toda aplicación en Java. Los paréntesis después del identificador main indican que éste es un bloque de construcción del programa, el cual se le llama método. Las declaraciones de clases en Java generalmente contienen uno o más métodos. Es una aplicación en Java, sólo uno de esos métodos debe llamarse main, de no ser así, la Máquina Virtual de Java (JVM) no ejecutará la aplicación.

Mientras que la palabra public específica "quién" puede acceder al método main, la palabra static específica "cómo" acceder al método main. Con un método no estático, se debe realizar trabajo extra antes de acceder a este. Por otro lado, a un método de tipo estático se puede acceder sin realizar ningún trabajo extra. Ya que main es el punto de inicio para todos los programas de Java, debe ser inmediatamente accesible y, por tanto, requiere de la palabra static.

La palabra void indica que un método no devuelve nada. Puesto que el método main no devuelve nada, entonces se utiliza void en el encabezado del método main. Las palabras String[] args entre paréntesis son una parte requerida del encabezado del método main.

Bibliografía consultada:
  • Como programar en Java, Deitel & Deitel, pág. 38, Séptima Edición 2008, Editorial Pearson Education.
  • Introducción a la programación con Java, John S. Dean, Raymond H. Dean, págs. 55,56, Edición 2009, Editorial McGraw-Hill.

abril 17, 2010

Recolector de Basura


El recolector de basura (garbage collector en inglés) administra la memoria en forma automática, así se logra evitar que se desperdicien grandes cantidades de memoria. El recolector de basura se encarga de recoger todos los objetos que ya no están siendo utilizados por nuestros programas. Cuando la memoria de la Máquina Virtual se está agotando se activa automáticamente el recolector de basura.

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 16, 2010

Compilador JIT.

En las primeras versiones de Java, la JVM era tan sólo un intérprete de códigos de byte de Java. Esto hacía que la mayoría de los programas se ejecutaran con lentitud, ya que la JVM tenía que interpretar y ejecutar un código de bytes a la vez. Por lo general, las JVMs actuales ejecutan códigos de bytes usando una combinación de la interpretación y la denominada compilación justo a tiempo (JIT). En este proceso, la JVM analiza los códigos de bytes a medida que se interpretan, buscando puntos activos: partes de los códigos de bytes que se ejecutan con frecuencia.


Para estas partes, un compilador justo a tiempo (JIT y conocido como compilador HotSpot de Java) traduce los códigos de bytes al lenguaje máquina correspondiente a la computadora. Cuando la JVM encuentra estas partes compiladas nuevamente, se ejecuta el código en lenguaje máquina, que es más rápido. En consecuencia, los programas en Java en realidad pasan por dos fases de compilación: una en la cual el código fuente se traduce a código de bytes (para tener portabilidad a través de las JVMs en distintas plataformas computacionales) y otra en la que, durante la ejecución, los códigos de bytes se traducen en lenguaje máquina para la computadora actual en la que se ejecuta el programa.


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

abril 13, 2010

Plataforma Java.

Es el nombre de la plataforma desarrollada por Sun Microsystems que es capaz de ejecutar aplicaciones desarrolladas usando el lenguaje de programación Java u otros lenguajes que compilen a códigos de bytes y un conjunto de herramientas de desarrollo. La plataforma utiliza una máquina virtual para ejecutar las aplicaciones y un conjunto de librerías que ofrecen funcionalidad común a todas las aplicaciones.

Véase:







Independencia de la plataforma.

Es la capacidad del programa de trasladarse con facilidad de un sistema computacional a otro. Los códigos de bytes de Java son independientes de la plataforma por lo tanto puede ejecutarse en cualquier plataforma que tenga soporte para la Máquina Virtual de Java. De ahí el slogan del lenguaje: Escribir un programa una vez y ejecútalo donde sea (Write Once, Run Everywhere).

Véase:


abril 06, 2010

Aplicación en Java.


Una aplicación en Java es un programa de computadora que se ejecuta cuando invocamos el comando java para iniciar la Máquina Virtual de Java (JVM). Al iniciar el programa, la JVM busca un encabezado para el método main y ejecuta las instrucciones contenidas en el cuerpo del método. De no encontrarse el método main la aplicación no podrá ejecutarse.

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.

Códigos de Bytes.

Los Bytecodes o códigos de bytes son un conjunto de instrucciones muy parecidas al código máquina, pero que no son específicas para algún procesador.

Cuando compila un programa escrito en C o en cualquier otro lenguaje, por lo general el compilador traduce su programa a códigos de máquina o instrucciones del procesador que son específicos para el procesador que su computadora ejecuta. Por lo tanto, si desea utilizar el mismo programa en otro sistema, tendrá que regresar al código fuente original, obtener un compilador para ese sistema y volver a compilar su código. El resultado de este sistema: múltiples programas ejecutables para múltiples sistemas.

Sin embargo, este panorama es distinto cuando escribe código en Java. El ambiente de desarrollo tiene dos partes: un compilador Java y un intérprete Java. El compilador Java toma su programa y en lugar de generar códigos de máquina para sus códigos fuente, genera un bytecode.
Para ejecutar un programa en Java, debe ejecutar un programa llamado intérprete de bytecode, el cual a su vez ejecuta su programa Java.

El hecho de tener sus programas en forma de bytecodes, significa que en lugar de ser específico con respecto a algún sistema, puede ejecutar sus programas en cualquier sistema operativo, siempre que se encuentre disponible el intérprete Java.

La desventaja de utilizar bytecodes se halla en la velocidad de ejecución. Puesto que los programas específicos del sistema corren directamente en el hardware en que se compilaron éstos, se ejecutan más rápido que los bytecodes de Java los que, a su vez, deben ser procesados por el intérprete.

Compilador Java.

La función de un compilador es convertir un programa escrito un en lenguaje como Java a un lenguaje que la computadora pueda entender. Los programas en Java se convierten en códigos de bytes. El comando para llamar al compilador es: javac MiPrograma.java

Donde el nombre del compilador es javac y MiPrograma.java es el nombre del archivo que contiene el código de nuestro programa.

Al compilar el programa, el compilador verifica que éste obedezca las reglas de programación en Java, y si algo sale mal, muestra los mensajes de error apropiados. El compilador crea un archivo con el sufijo .class. Este contiene el código de bytes equivalente a su programa en Java.


Pero el archivo .class que produce el compilador no está listo todavía para ejecutarse ya que requiere vincularse con las bibliotecas de clases Java proceso que se realizará cuando el programa se ejecute.

Error de sintaxis.

Todos los lenguajes, ya sea francés, inglés o español, Java inclusive, tienen un conjunto de reglas: tienen una gramática. En español, por ejemplo, las oraciones terminan con un punto, signo de exclamación o de interrogación. En el caso de Java las instrucciones (oraciones) terminan con un punto y coma. Es un error común olvidar el punto y coma en los programas.


Cuando usted viola una regla del lenguaje de programación Java, el compilador muestra mensajes de error de sintaxis en la pantalla de su monitor. Antes de que el compilador pueda convertir con éxito los programas fuente en código de máquina virtual, usted debe corregir todos los errores de sintaxis que tenga el archivo fuente.

Nota: Los errores de sintaxis también son conocidos como error de compilador, error en tiempo de compilación o error de compilación.

Véase: