• No se han encontrado resultados

Ejecución de código: utilizar las opciones de la línea de comandos

In document La Biblia del Java.pdf (página 53-58)

"Bien," dice el programador, "tengo otro problema. He almacenado todos mis archivos con extensión ".class" en un directorio, pero no quiero estar cambiando a ese directorio para ejecutarlos". "Otro problema fácil de resol- ver," le dice. "Puede usar la opción -classpath de la utilidad java o establecer la variable de entorno CLASSPATH para que el compilador de Java busque las clases correctamente".

Echaremos un vistazo al uso de las opciones de la línea de comandos en este punto. Utilizará estas opciones.con las utilidades java, javaw y oldjava, de la siguiente forma (para ver información sobre estas utilidades, ver la sección "Ejecución del código," ya tratado en este capítulo):

java [opciones] clase [parámetro

. . .

1

java [opciones] -jar archivo.jar [parámetro

. . .

1

javaw [opciones] clase [parámetro

. . .

1

javaw [opciones] -jar archivo.jar [parámetro

. . .

1

oldjava [opciones] clase [parámetro

. . .

1

oldjavaw [opciones] -jar archivo.jar [parámetro

. . .

1

A continuación se citan las opciones de la línea de comandos que puede utilizar con estas herramientas (observe que las opciones no estándar, que quiere decir que en un futuro puede que no estén soportadas, empiezan con una X):

-classpath ruta de acceso o -cp ruta de acceso. Especifica una lista de directorios, archivos con extensión".jar" o archivos con extensión".zip" para localizar archivos de clase. Se separan las entradas con punto y

coma (';'). Observe que al especificar cualquiera de estas dos opciones se está borrando lo que indique la variable de entorno CLASSPATH. Utilizadas con java o javaw, -classpath o -cp sólo especifican la ruta de acceso para las clases de usuario. Usadas con oldjava u oldjavaw, especifican la ruta de acceso para las clases de usuario

y

las de arranque. Si no se especifican ni -classpath ni -cp y CLASSPATH no está, la ruta de acceso a las clases de usuario está limitada al directorio actual, que está referenciado con un punto ('.'). Ver el apartado "Conocimientos básicos: búsqueda de clases Java con CLASSPATH," más adelante en este capítulo para más información.

-Dproperty=valor. Fija un valor de propiedad del sistema.

-jar. Ejecuta un programa encapsulado en un archivo JAR. El primer parámetro es el nombre de un archivo JAR en vez de un nombre de clase de inicio. Cuando usa esta opción, el archivo JAR es la fuente de todas las clases de usuario y el resto de las rutas de acceso a otras clases de usuario se ignoran. Las herramientas oldjava y oldjavaw no soportan la opción -jar.

-verbose o -verbose:clase. Visualiza información sobre cada clase que está cargada.

-verbose:gc. Informa sobre cada evento de la colección garbage. Esta colección realiza la gestión de memoria en Java.

-verbose:jni. Da información sobre el uso de métodos nativos (es decir, específicos de la plataforma) y otras actividades de la interfaz nativa de Java.

-version. Visualiza información sobre la versión y se cierra.

-? o -help. Visualiza información de ayuda y se cierra.

-X.

Visualiza información sobre las opciones no estándares.

-Xbootclasspath:ruta de acceso de arranque. Especifica una lista de directorios separados por punto y coma (';'), archivos con extensión ".jar" o archivos con extensión ".zipV para localizar los archivos de la clase de arranque. Observe que estos serán utilizados en lugar de los archivos de las clases de arranque que Java incorpora.

-Xdebug. Inicia con el debugger habilitado.

-Xnoclassgc. Deshabilita la colección de clases garbage.

-Xmsn. Indica el tamaño de memoria inicial que se quiere utilizar (este valor debe ser mayor que 1000). Para multiplicar el valor por 1000, añadir la letra 'k'. Para multiplicar el valor por un millón, añadir la letra 'm'. El valor por defecto es lm.

-Xmxn. Especifica el tamaño máximo de memoria (este valor debe ser mayor que 1000). Para multiplicar el valor por 1000, añadir la letra 'k'. Para multiplicar el valor por un millón, añadir la letra 'm'. El valor por defecto es 64m.

Xrunhprof[:help] [: csubopción>=cvalor>,..

.l.

Habilita el seguimiento de la CPU, la pila o del monitor. Esta opción va seguida normalmente por una lista de pares separados por coma (',') de la forma <subopción>=<valor>.

-Xrs. Reduce el uso de las señales del sistema operativo.

Xcheck:jni. Ejecuta tratamientos adicionales para las funciones de la interfaz nativa de Java.

-Xfutrue. Ejecuta un seguimiento estricto del formato de archivo de clases.

Conocimientos básicos: comentar el código

La persona encargada de la corrección del programa entra y le mira con reproche. "¿Qué ocurre?, pregunta. "Su código", dice. "No puedo imaginar lo

que ahí está escrito". "Lo siento, olvidé comentarlo", dice. "Le pido que lo haga", dice él. "Arréglelo". ,

A veces, el código puede ser muy críptico y difícil de descifrar. Por ello, Java le permite comentar su código para explicar a todo el mundo que lo lea cómo funciona el programa y lo que hace. Como ejemplo, añadamos comen- tarios a la aplicación que ya hemos desarrollado en los puntos anteriores:

public class app

public static void mainíString[l args)

(

System.out.println("iHola desde Java!");

1

1

Java admite tres tipos de comentarios, dos de los cuales son de C++. Puede poner cualquier comentario de cualquier longitud con los caracteres " / * M y "*/u:

/ * Esta aplicación visualiza ";Hola desde Java!" * /

public class app

I

public static void main(String[] args)

{

System.out.println("iHola desde Java!");

1

1

El compilador de Java ignorará todo el texto que esté entre "/*" y "*/".

Puede dividir los comentarios que ponga entre estos indicadores en varias líneas:

/ * Esta aplicación visualiza "iHola desde JavalR

Creado por: 0 . Whiz, 1/1/00 * /

public class app

{

public static void main(String[] args)

(

System.out.println("iHola desde Java! " ) ;

De hecho, en muchos entoinos corporativos, se espera que se use una cabecera de comentario estándar, creado con "/*" y "*/" para todo código nuevo. Sería algo así como:

Esta aplicación visualiza ";Hola desde Java!"

*

* ~mportaciones: Ninguna *

* Parámetros: Argumentos de la línea de comandos *

* Retorno: Ninguno *

* Supuestos: Ninguno e

* Fecha de creación: 1/1/00 *

* Última actualización: 1/1/01 *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * f * * * * * * * * * * * * * * * * /

public class app

{

public static void rnain(String[] args)

{

System.out.println('iH01a desde Java! " 1 ;

1

1

Java también soporta una línea de comentario utilizando la doble barra, "11". El compilador de Java ignorará toda la línea después de la doble barra, por lo que puede crear líneas enteras de comentarios o añadir un comentario a una sola línea:

/ * Esta aplicación visualiza "¡Hola desde Java!" * / public class app //Crear la clase app

(

//Crear main( ), punto de entrada a la aplicación.

public static void main(String[l args)

{

/ / Visualizar el mensaje con

System.out.println("iHola desde Java! " ) ;

1

1

Finalmente, Java también soporta un comentario que se inicia con "/**" y que termina con "*/". Este comentario está diseñado para usarse con la herramienta javadoc, que permite crear documentación casi automáticamente. Echaremos un vistazo a esto en el capítulo 21. A continuación hay un ejem- plo para el uso de "/**" y "*/":

/ * * Esta aplicación visualiza ";Hola desde Javanl * /

public class app

{

public static void main(String[] args)

(

System.out.println("iH01a desde Java!");

1

1

Comentar el código es de gran importancia en entornos de grupo donde se comparten los códigos de los archivos fuente. Además es muy cómodo si otra persona va a retomar el proyecto en el que ha estado trabajando usted.

Conocimientos básicos: importando paquetes

In document La Biblia del Java.pdf (página 53-58)