jueves, 30 de abril de 2009
Una Minima Aplicacion
Una mínima aplicación en Java
La aplicación más pequeña posible es la que simplemente imprime un mensaje en la pantalla. Tradicionalmente, el mensaje suele ser "Hola Mundo!". Esto es justamente lo que hace el siguiente fragmento de código:
// Aplicación HolaMundo de ejemplo
//
class HolaMundoApp {
public static void main( String args[] ) {
System.out.println( "Hola Mundo!" );
}
}
HolaMundo
Hay que ver en detalle la aplicación anterior, línea a línea. Esas líneas de código contienen los componentes mínimos para imprimir Hola Mundo! en la pantalla. Es un ejemplo muy simple, que no instancia objetos de ninguna otra clase; sin embargo, accede a otra clase incluida en el JDK.
// Aplicación HolaMundo de ejemplo
//
Estas dos primeras líneas son comentarios. Hay tres tipos de comentarios en Java, // es un comentario orientado a línea.
class HolaMundoApp {
Esta línea declara la clase HolaMundoApp. El nombre de la clase especificado en el fichero fuente se utiliza para crear un fichero nombredeclase.class en el directorio en el que se compila la aplicación. En este caso, el compilador creará un fichero llamado HolaMundoApp.class.
public static void main( String args[] ) {
Esta línea especifica un método que el intérprete Java busca para ejecutar en primer lugar. Igual que en otros lenguajes, Java utiliza una palabra clave main para especificar la primera función a ejecutar. En este ejemplo tan simple no se pasan argumentos.
public significa que el método main() puede ser llamado por cualquiera, incluyendo el intérprete Java.
static es una palabra clave que le dice al compilador que main se refiere a la propia clase HolaMundoApp y no a ninguna instancia de la clase. De esta forma, si alguien intenta hacer otra instancia de la clase, el método main() no se instanciaría.
void indica que main() no devuelve nada. Esto es importante ya que Java realiza una estricta comprobación de tipos, incluyendo los tipos que se ha declarado que devuelven los métodos.
args[] es la declaración de un array de Strings. Estos son los argumentos escritos tras el nombre de la clase en la línea de comandos:
%java HolaMundoApp arg1 arg2 ...
System.out.println( "Hola Mundo!" );
Esta es la funcionalidad de la aplicación. Esta línea muestra el uso de un nombre de clase y método. Se usa el método println() de la clase out que está en el paquete System.
A una variable de tipo class se puede acceder sin necesidad de instanciar ningún objeto de esa clase. Por ello ha de ser un tipo básico o primitivo, o bien puede ser una referencia que apunta a otro objeto. En este caso, la variable out es una referencia que apunta a un objeto de otro tipo, aquí una instancia de la clase PrintStream (un objeto PrintStream), que es automáticamente instanciado cuando la clase System es cargada en la aplicación. Esto es algo semejante al hecho de que los objetos stream de entrada/salida, cin y cout son automáticamente instanciados y enlazados a los dispositivos estándar de entrada y salida cuando un programa C++ comienza su ejecución.
El método println() toma una cadena como argumento y la escribe en el stream de salida estándar; en este caso, la ventana donde se lanza la aplicación. La clase PrintStream tiene un método instanciable llamado println(), que lo hace e presentar en la salida estándar del Sistema el argumento que se le pase. En este caso, se utiliza la variable o instancia de out para acceder al método.
}
}
Finalmente, se cierran las llaves que limitan el método main() y la clase HolaMundoApp. En C++, la función main() en un programa puede tener cualquiera de los siguientes prototipos:
tipo_retorno main()
tipo_retorno main( int argc,char argv[] )
El tipo_retorno puede ser cualquier tipo válido, o void, para indicar que la función no tiene que devolver valor alguno. La lista de argumentos puede estar vacía, o contener los argumentos de soporte para pasar parámetros en la línea de comandos. Esta forma de implementación la función difiere de la que acaba de presentar para Java, que siempre habrá de ser la misma, independientemente de los valores de retorno o la lista de parámetros que se pasen en la lista de argumentos a la aplicación.
La aplicación más pequeña posible es la que simplemente imprime un mensaje en la pantalla. Tradicionalmente, el mensaje suele ser "Hola Mundo!". Esto es justamente lo que hace el siguiente fragmento de código:
// Aplicación HolaMundo de ejemplo
//
class HolaMundoApp {
public static void main( String args[] ) {
System.out.println( "Hola Mundo!" );
}
}
HolaMundo
Hay que ver en detalle la aplicación anterior, línea a línea. Esas líneas de código contienen los componentes mínimos para imprimir Hola Mundo! en la pantalla. Es un ejemplo muy simple, que no instancia objetos de ninguna otra clase; sin embargo, accede a otra clase incluida en el JDK.
// Aplicación HolaMundo de ejemplo
//
Estas dos primeras líneas son comentarios. Hay tres tipos de comentarios en Java, // es un comentario orientado a línea.
class HolaMundoApp {
Esta línea declara la clase HolaMundoApp. El nombre de la clase especificado en el fichero fuente se utiliza para crear un fichero nombredeclase.class en el directorio en el que se compila la aplicación. En este caso, el compilador creará un fichero llamado HolaMundoApp.class.
public static void main( String args[] ) {
Esta línea especifica un método que el intérprete Java busca para ejecutar en primer lugar. Igual que en otros lenguajes, Java utiliza una palabra clave main para especificar la primera función a ejecutar. En este ejemplo tan simple no se pasan argumentos.
public significa que el método main() puede ser llamado por cualquiera, incluyendo el intérprete Java.
static es una palabra clave que le dice al compilador que main se refiere a la propia clase HolaMundoApp y no a ninguna instancia de la clase. De esta forma, si alguien intenta hacer otra instancia de la clase, el método main() no se instanciaría.
void indica que main() no devuelve nada. Esto es importante ya que Java realiza una estricta comprobación de tipos, incluyendo los tipos que se ha declarado que devuelven los métodos.
args[] es la declaración de un array de Strings. Estos son los argumentos escritos tras el nombre de la clase en la línea de comandos:
%java HolaMundoApp arg1 arg2 ...
System.out.println( "Hola Mundo!" );
Esta es la funcionalidad de la aplicación. Esta línea muestra el uso de un nombre de clase y método. Se usa el método println() de la clase out que está en el paquete System.
A una variable de tipo class se puede acceder sin necesidad de instanciar ningún objeto de esa clase. Por ello ha de ser un tipo básico o primitivo, o bien puede ser una referencia que apunta a otro objeto. En este caso, la variable out es una referencia que apunta a un objeto de otro tipo, aquí una instancia de la clase PrintStream (un objeto PrintStream), que es automáticamente instanciado cuando la clase System es cargada en la aplicación. Esto es algo semejante al hecho de que los objetos stream de entrada/salida, cin y cout son automáticamente instanciados y enlazados a los dispositivos estándar de entrada y salida cuando un programa C++ comienza su ejecución.
El método println() toma una cadena como argumento y la escribe en el stream de salida estándar; en este caso, la ventana donde se lanza la aplicación. La clase PrintStream tiene un método instanciable llamado println(), que lo hace e presentar en la salida estándar del Sistema el argumento que se le pase. En este caso, se utiliza la variable o instancia de out para acceder al método.
}
}
Finalmente, se cierran las llaves que limitan el método main() y la clase HolaMundoApp. En C++, la función main() en un programa puede tener cualquiera de los siguientes prototipos:
tipo_retorno main()
tipo_retorno main( int argc,char argv[] )
El tipo_retorno puede ser cualquier tipo válido, o void, para indicar que la función no tiene que devolver valor alguno. La lista de argumentos puede estar vacía, o contener los argumentos de soporte para pasar parámetros en la línea de comandos. Esta forma de implementación la función difiere de la que acaba de presentar para Java, que siempre habrá de ser la misma, independientemente de los valores de retorno o la lista de parámetros que se pasen en la lista de argumentos a la aplicación.
miércoles, 29 de abril de 2009
CLASE JAVA
CLASE SYSTEM:
Entrada y salida Estandar:
Se encuentra relacionado con la clase System. Los dispositivos de entrada/salida probablemente sean uno de los aspectos más utilizado de esta clase.
La clase System proporciona automáticamente cuando comienza la ejecución de un programa, un stream para leer del dispositivo estándar de entrada (normalmente, el teclado), un stream para presentar información en el dispositivo estándar de salida (normalmente, la pantalla) y otro stream donde presentar mensajes de error, que es el dispositivo estándar de error (normalmente, la pantalla).
Los tres streams de entrada/salida están controlados por esta clase y se referencian como:
System.in entrada estandar
System.out salida estandar
System.err salida de error estandar
Las variables internas de la clase System out y err son de tipo PrintStream, es decir, que tienen acceso a los métodos de la clase PrintStream. La clase PrintStream proporciona tres métodos para poder visualizar información: print(), println() y write().
Los dos primeros ya se han utilizado en el Tutorial ampliamente, con lo que no resultan extrañas sentencias como:
System.out.print( … );
System.out.println( … );
System.out.write( … );
Los métodos print() y println() son semejante, la única diferencia es que println() coloca automáticamente un carácter nueva línea en el stream, tras la lista de argumentos que se le pase.
El método write() se utiliza para escribir bytes en el stream, es decir, para escribir datos que no pueden interpretaLos métodos print() y println() aceptan un argumento de cualquiera de los siguientes tipos: Object, String, char[], int, long, float, double o boolean. En cada caso, el sistema convierte el dato a un conjunto de caracteres que transfiere al dispositivo estándar de salida. Si se invoca al método println() sin argumentos, simplemente se inserta un carácter nueva línea en el stream.rse como texto, como pueden ser los datos que componen un gráfico.
Además, hay versiones sobrecargadas de estos métodos para visualizar adecuadamente objetos de varias clases estándar. Por ejemplo, las siguientes sentencias:Thread obj = new Thread;
System.out.println( obj );
Producirían la siguiente salida en pantalla: Thread[Thread-4,5,main]
Cuando se utilizan print() y println() sobre un objeto, la salida dependerá de ese objeto; por ejemplo, si se imprime un objeto String, visualizaremos el contenido de la cadena y si se imprime un objeto Thread obtenemos una salida en formato:claseThread[nombre,prioridad,grupo].
Entrada y salida Estandar:
Se encuentra relacionado con la clase System. Los dispositivos de entrada/salida probablemente sean uno de los aspectos más utilizado de esta clase.
La clase System proporciona automáticamente cuando comienza la ejecución de un programa, un stream para leer del dispositivo estándar de entrada (normalmente, el teclado), un stream para presentar información en el dispositivo estándar de salida (normalmente, la pantalla) y otro stream donde presentar mensajes de error, que es el dispositivo estándar de error (normalmente, la pantalla).
Los tres streams de entrada/salida están controlados por esta clase y se referencian como:
System.in entrada estandar
System.out salida estandar
System.err salida de error estandar
Las variables internas de la clase System out y err son de tipo PrintStream, es decir, que tienen acceso a los métodos de la clase PrintStream. La clase PrintStream proporciona tres métodos para poder visualizar información: print(), println() y write().
Los dos primeros ya se han utilizado en el Tutorial ampliamente, con lo que no resultan extrañas sentencias como:
System.out.print( … );
System.out.println( … );
System.out.write( … );
Los métodos print() y println() son semejante, la única diferencia es que println() coloca automáticamente un carácter nueva línea en el stream, tras la lista de argumentos que se le pase.
El método write() se utiliza para escribir bytes en el stream, es decir, para escribir datos que no pueden interpretaLos métodos print() y println() aceptan un argumento de cualquiera de los siguientes tipos: Object, String, char[], int, long, float, double o boolean. En cada caso, el sistema convierte el dato a un conjunto de caracteres que transfiere al dispositivo estándar de salida. Si se invoca al método println() sin argumentos, simplemente se inserta un carácter nueva línea en el stream.rse como texto, como pueden ser los datos que componen un gráfico.
Además, hay versiones sobrecargadas de estos métodos para visualizar adecuadamente objetos de varias clases estándar. Por ejemplo, las siguientes sentencias:Thread obj = new Thread;
System.out.println( obj );
Producirían la siguiente salida en pantalla: Thread[Thread-4,5,main]
Cuando se utilizan print() y println() sobre un objeto, la salida dependerá de ese objeto; por ejemplo, si se imprime un objeto String, visualizaremos el contenido de la cadena y si se imprime un objeto Thread obtenemos una salida en formato:claseThread[nombre,prioridad,grupo].
lunes, 6 de abril de 2009
MULTIT REHAT
soporta de modo nativo los theart holos, sin necesidada del uso librerias especificas(como es el caso de c++). esto le permite ademas q cada hilo de una a plicacion java pueda correr en una cpu distinta , si la aplicacion se ejecuta en una maquina q posee varias cpu. las aplicaciones c++ no son capaces de distribuir de modo transparente para el pogramador la carga entre varias cpu .
ACTIVIDAD:
1-averiguar para q sirven los siguientes comandos funciones e interpretes q pertenecen al paquete java :
a) javac
b) java
c) aplplet viewer
d) java doc
2-tipos de datos:investiga sobre los distintos tipos de datos y variables :
a) enteros, reales, caracter y bulianos.
b) las variables.
DESARROLO
JAVAC
Supongamos que en el directorio C:\Archivos de programa\Java\jdk1.5.0_06 tenemos recien instalado java. Por supuesto, los numerítos del final pueden cambiar si tenemos otra versión o incluso el directorio si hemos decidido instalarlo en otro sitio. Con esto, podemos desde una ventana de ms-dos ejecutar el comando "java", que nos permite ejecutar programas java ya hechos. Sin embargo, todavía no podemos ejecutar el comando "javac" que nos permite compilar programas java, ni el comando "jar" que nos permite crear ficheros .jar de java. Para que esto sea posible, debemos poner en el path de búsqueda de ejecutables el directorio C:\Archivos de programa\Java\jdk1.5.0_06\bin, que es el directorio donde se encuentran los porgramas javac.exe y jar.exe. Para poner este directorio en el path de búsqueda de ejecutables hacemos lo siguiente En Windows 2000 o XP, vamos al icono "mi pc", le damos con el botón derecho de ratón para sacar el menú, elegimos "propiedades", pestaña "opciones avanzadas" y luego el botón "variables de entorno". Buscamos la variable "Path" y la editamos. Al final de lo que tenga en ese momento, añadimos un punto y coma y el directorio C:\Archivos de programa\Java\jdk1.5.0_06 En Windows Vista, vamos al icono "equipo", sacamos el menú, elegimos "propiedades", "configuración avanzada del sistema", "variables de entorno" y seguimos como en Windows 2000/XP. En mi caso, después de añadir, quedaría algo como esto C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_01\bin Una vez hecho esto y aceptados todos los cambios, abrimos una ventana de ms-dos nueva. Es importante abrirla después de haber hecho los cambios. En esa ventana de ms-dos ya deberíamos poder ejecutar los comandos javac y jar.
JAVA
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
APPLET VIEWER
Un applet es una mínima aplicación Java diseñada para ejecutarse en un navegador Web. Por tanto, no necesita preocuparse por un método main() ni en dónde se realizan las llamadas. El applet asume que el código se está ejecutando desde dentro de un navegador. El appletviewer se asemeja al mínimo navegador. Espera como argumento el nombre del fichero html que debe cargar, no se le puede pasar directamente un programa Java. Este fichero html debe contener una marca que especifica el código que cargará el appletviewer: El appletviewer crear un espacio de navegación, incluyendo un área gráfica, donde se ejecutará el applet, entonces llamará a la clase applet apropiada. En el ejemplo anterior, el appletviewer cargará una clase de nombre HolaMundo y le permitirá trabajar en su espacio gráfico.
JAVADOC
Javadoc es una utilidad de Sun Microsystems para la generación de documentación de APIs en formato HTML a partir de código fuente Java.Javadoc es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan automáticamente.Etiquetas Javadoc [editar]Para generar APIs con Javadoc han de usarse etiquetas (tag's) de HTML o ciertas palabras reservadas precedidas por el caracter "@".Estas etiquetas se escriben al principio de cada clase, miembro o método, dependiendo de qué objeto se desee describir, mediante un comentario iniciado con "/**" y acabado con "*/".
http://es.wikipedia.org/wiki/JavaCChttp://www.geocities.com/CollegePark/Quad/8901/cap01.htm
ACTIVIDAD:
1-averiguar para q sirven los siguientes comandos funciones e interpretes q pertenecen al paquete java :
a) javac
b) java
c) aplplet viewer
d) java doc
2-tipos de datos:investiga sobre los distintos tipos de datos y variables :
a) enteros, reales, caracter y bulianos.
b) las variables.
DESARROLO
JAVAC
Supongamos que en el directorio C:\Archivos de programa\Java\jdk1.5.0_06 tenemos recien instalado java. Por supuesto, los numerítos del final pueden cambiar si tenemos otra versión o incluso el directorio si hemos decidido instalarlo en otro sitio. Con esto, podemos desde una ventana de ms-dos ejecutar el comando "java", que nos permite ejecutar programas java ya hechos. Sin embargo, todavía no podemos ejecutar el comando "javac" que nos permite compilar programas java, ni el comando "jar" que nos permite crear ficheros .jar de java. Para que esto sea posible, debemos poner en el path de búsqueda de ejecutables el directorio C:\Archivos de programa\Java\jdk1.5.0_06\bin, que es el directorio donde se encuentran los porgramas javac.exe y jar.exe. Para poner este directorio en el path de búsqueda de ejecutables hacemos lo siguiente En Windows 2000 o XP, vamos al icono "mi pc", le damos con el botón derecho de ratón para sacar el menú, elegimos "propiedades", pestaña "opciones avanzadas" y luego el botón "variables de entorno". Buscamos la variable "Path" y la editamos. Al final de lo que tenga en ese momento, añadimos un punto y coma y el directorio C:\Archivos de programa\Java\jdk1.5.0_06 En Windows Vista, vamos al icono "equipo", sacamos el menú, elegimos "propiedades", "configuración avanzada del sistema", "variables de entorno" y seguimos como en Windows 2000/XP. En mi caso, después de añadir, quedaría algo como esto C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_01\bin Una vez hecho esto y aceptados todos los cambios, abrimos una ventana de ms-dos nueva. Es importante abrirla después de haber hecho los cambios. En esa ventana de ms-dos ya deberíamos poder ejecutar los comandos javac y jar.
JAVA
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
APPLET VIEWER
Un applet es una mínima aplicación Java diseñada para ejecutarse en un navegador Web. Por tanto, no necesita preocuparse por un método main() ni en dónde se realizan las llamadas. El applet asume que el código se está ejecutando desde dentro de un navegador. El appletviewer se asemeja al mínimo navegador. Espera como argumento el nombre del fichero html que debe cargar, no se le puede pasar directamente un programa Java. Este fichero html debe contener una marca que especifica el código que cargará el appletviewer: El appletviewer crear un espacio de navegación, incluyendo un área gráfica, donde se ejecutará el applet, entonces llamará a la clase applet apropiada. En el ejemplo anterior, el appletviewer cargará una clase de nombre HolaMundo y le permitirá trabajar en su espacio gráfico.
JAVADOC
Javadoc es una utilidad de Sun Microsystems para la generación de documentación de APIs en formato HTML a partir de código fuente Java.Javadoc es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan automáticamente.Etiquetas Javadoc [editar]Para generar APIs con Javadoc han de usarse etiquetas (tag's) de HTML o ciertas palabras reservadas precedidas por el caracter "@".Estas etiquetas se escriben al principio de cada clase, miembro o método, dependiendo de qué objeto se desee describir, mediante un comentario iniciado con "/**" y acabado con "*/".
http://es.wikipedia.org/wiki/JavaCChttp://www.geocities.com/CollegePark/Quad/8901/cap01.htm
miércoles, 1 de abril de 2009
ARQUITECTURA NATURAL
El código generado por el compilador Java es independiente de la arquitectura: podría
ejecutarse en un entorno UNIX, Mac o Windows.
El motivo de esto es que el que realmente ejecuta el código generado por el compilador no es el procesador del ordenador directamente,sino que este se ejecuta mediante una máquina virtual.
Esto permite que los Applets de una
web pueda ejecutarlos cualquier máquina que se conecte a ella independientemente de que
sistema operativo emplee (siempre y cuando el ordenador en cuestión tenga instalada una
máquina virtual de Java).
RENDIMIENTO MEDIO
en la actulidad la velocidad del procesado de codigo java es semejante a la de c++, hay ciertas pruebas estandares de comparacion(bench mak), en las cuales java gana a c++ y viceversa . esto es asi gracias al uso del compiladores just intime, los cuales raducen los bitecodes de java en codigo para una determinada cpu q no presisa de maquina viertual para ser ejecutado , y guardan el resultado de dicha convercion , volviendo lo a lllamar en caso de volverlos a necesitar , lo q se edita en este caso la sobre carga de trabajo asociada a la interpretacion del bit code.
ejecutarse en un entorno UNIX, Mac o Windows.
El motivo de esto es que el que realmente ejecuta el código generado por el compilador no es el procesador del ordenador directamente,sino que este se ejecuta mediante una máquina virtual.
Esto permite que los Applets de una
web pueda ejecutarlos cualquier máquina que se conecte a ella independientemente de que
sistema operativo emplee (siempre y cuando el ordenador en cuestión tenga instalada una
máquina virtual de Java).
RENDIMIENTO MEDIO
en la actulidad la velocidad del procesado de codigo java es semejante a la de c++, hay ciertas pruebas estandares de comparacion(bench mak), en las cuales java gana a c++ y viceversa . esto es asi gracias al uso del compiladores just intime, los cuales raducen los bitecodes de java en codigo para una determinada cpu q no presisa de maquina viertual para ser ejecutado , y guardan el resultado de dicha convercion , volviendo lo a lllamar en caso de volverlos a necesitar , lo q se edita en este caso la sobre carga de trabajo asociada a la interpretacion del bit code.
Suscribirse a:
Entradas (Atom)