Tutorial de Java

java

Anterior | Siguiente

java.exe

Interpreta (ejecuta) byte-code Java.

Sintaxis

java [opciones] nombre_de_clase <argumentos>
java [opciones] -jar fichero_jar <argumentos>
java_g [opciones] nombre_de_clase <argumentos>
java_g [opciones] -jar fichero_jar <argumentos>
javaw [opciones] nombre_de_clase <argumentos>
javaw [opciones] -jar fichero_jar <argumentos>
javaw_g [opciones] nombre_de_clase <argumentos>
javaw_g [opciones] -jar fichero_jar <argumentos>

Descripción

El comando java es un interfaz simple a base de línea de comandos para acceder a la Máquina Virtual Java. Es el intérprete de Java que ejecuta byte-codes creados por javac, el compilador de Java. El argumento nombre_de_clase es el nombre de la clase a ser ejecutada y argumentos son los parámetros pasados a la clase.

Todos los nombres de ficheros de clases Java deben terminar con la extensión .class, que el compilador javac añade automáticamente, y nombre_de_ clase debe contener un método main(), definido como:

class nombre_de_clase {
    public static void main( String argv[] ) {
        . . .
    }
}

java ejecuta el método main() y sale, a no ser que main() cree uno o más hilos de ejecución, en cuyo caso, java no sale hasta que haya terminado el último hilo.

Normalmente, se compilan los ficheros fuente con javac y luego se ejecuta el programa con java. Sin embargo, se puede utilizar también java para compilar y ejecutar programas con la opción -cs. Como se ha de cargar cada fichero que contenga el byte-code de la clase, su fecha de modificación se compara con la fecha de modificación del fichero que contiene el código fuente de la clase; si ésta última es más reciente, se recompila la clase y se carga el nuevo fichero .class generado. java repite el proceso hasta que todas las clases están compiladas y cargadas correctamente.

El intérprete java también soporta la ejecución de programas Java completos encapsulados en archivos de tipo JAR.

El intérprete puede determinar la legitimación de una clase a través de un mecanismo interno de verificación. Este mecanismo asegura, antes de la ejecución, que los ficheros de clases no violan ninguna de las reglas del lenguaje.

java_g es una versión no optimizada de java que se usa con depuradores de código como jdb.

javaw es una versión especial para Windows que crea una ventana separada que sirve de consola para la salida estándar.

javaw_g es la versión para depuración de javaw.

Opciones

El intérprete Java tiene un conjunto de opciones estándar que están soportadas por la Máquina Virtual Java actual y que también serán soportadas por futuras versiones de la Máquina Virtual. Además, tiene otra serie de opciones que no son estándar y que aunque estén soportadas ahora pueden no estarlo en el futuro, estas opciones comienzan por -X, y en la documentación original de Sun se puede encontrar una guía completa.

-Xdebug

          

Permite que el jdb (depurador de código Java -Java debugger-) se conecte a si mismo a la sesión de java. Cuando se utiliza esta opción, java muestra una contraseña, la cual ha de ser introducida cuando comienza la sesión de depuración.

-classpath path

          

Especifica el camino que java usa para buscar las clases. Sobreescribe el establecido por defecto o la variable de entorno CLASSPATH si ésta ha sido establecida anteriormente. Los directorios en la variable CLASSPATH deben estar separados con punto y coma (;). El formato general para el path es:

.;<tu_camino>

Por ejemplo:

.;C:\users\afq\classes\;C:\jdk\classes

-help

          

Imprime un mensaje indicando la forma de la llamada.

-jar fichero_jar

          

Ejecuta un programa Java encapsulado en un fichero JAR. En lugar de referenciarlo en la línea de comandos, java coge la clase inicial que el fichero jar indica en la cabecera Main-Class. Por ejemplo, si el punto de entrada al programa es COM.MiEmpresa.MiPaquete.MiClase.main(), lo que aparecería en esta entrada sería:

Main-Class: COM.MiEmpresa.MiPaquete.MiClase

-Xmx x

          

Establece el tamaño máximo de la memoria del recolector de basura (garbage collector) a x. El valor por defecto es 16 megabytes de memoria. x debe ser mayor o igual a 1000 bytes. Por defecto, x se toma en bytes, pero se puede especificar en kilobytes o megabytes poniendo después de x la letra "k" para kilobytes y "m" para megabytes.

-Xms x

          

Establece el tamaño de inicio de la memoria del recolector de basura (garbage collector) a x. El valor por defecto es 1 megabyte. x debe ser mayor que 1000 bytes. Por defecto, x se toma en bytes, pero se puede especificar en kilobytes o megabytes poniendo después de x la letra "k" para kilobytes y "m" para megabytes.

-Xnoasyncgc

          

Desactiva el recolector asíncrono de basura. Cuando el recolector está activado no actúa a menos que éste sea explícitamente llamado o el programa corra fuera de memoria. Normalmente el colector de basura (garbage collector) se ejecuta como una tarea asíncrona en paralelo con otras tareas.

-Xnoclassgc

          

Desactiva el recolector de basura de clases Java. Por defecto, el intérprete Java reclama espacio para clases Java, aunque no se usen, durante la recolección de basura.

-Xprof

          

Arranca Java con el profiler activado. Por defecto, los resultados de la comprobación de la ejecución del programa Java se guardan en ./java.prof. Esta opción solamente funciona con java_g.

-Xprof:fichero

          

Arranca Java con el profiler activado. Esta forma permite que se especifique un fichero para guardar los resultados del estudio de la ejecución del programa Java, diferente al utilizado por defecto. Esta opción solamente funciona con java_g.

-Xss x

          

Cada hilo de ejecución Java tiene dos pilas: una para el código Java y otra para el código C. Esta opción establece el tamaño máximo de la pila mediante el valor x que puede ser usada por el código C en un hilo. Todos los hilos que resultan de la ejecución del programa pasado a java tienen una pila C de tamaño x. La unidad por defecto para x son bytes. x debe ser mayor o igual a 1000 bytes. Se puede modificar el significado de x añadiendo la letra "k" para kilobytes o la letra "m" para megabytes. El tamaño por defecto de la pila es 128 kilobytes ("-ss 128k").

-Xoss x

          

Cada hilo de ejecución Java tiene dos pilas: una para el código Java y otra para el código C. Esta opción establece el tamaño máximo de la pila mediante el valor x que puede ser usada por el código Java en un hilo de ejecución. Todos los hilos que resultan de la ejecución del programa pasado a java tienen una pila Java de tamaño x. La unidad por defecto para x son bytes. x debe ser mayor o igual 1000 bytes. Se puede modificar el significado de x añadiendo la letra "k" para kilobytes o la letra "m" para megabytes. El tamaño por defecto de la pila es 400 kilobytes ("-oss 400k").

-X

          

Imprime ayuda sobre las opciones no estándar

-v, -verbose

          

Hace que java imprima un mensaje en la salida estándar cada vez que se carga el archivo de una clase.

-Xverify

          

Ejecuta el verificador de todo el código.

-Xverifyremote

          

Ejecuta el verificador de todo el código que es cargado en el sistema a través de un cargador de clases. verifyremote es el valor por defecto para el intérprete.

-verbosejni

          

Imprime mensajes relacionados con JNI, incluyendo información sobre los métodos nativos que han sido linkados y avisos sobre creación de excesivas referencias locales.

-verbosegc

          

Hace que el recolector de basura imprima mensajes cada vez que libera memoria.

-version

          

Imprime información sobre la versión.

-Dpropiedad=valor

          

Redefine el valor de una propiedad. propiedad es el nombre de la propiedad cuyo valor se quiere cambiar y valor es valor a ser asignado. Por ejemplo, la línea siguiente

%java -Dawt.button.color=green ...

establece el valor de la propiedad awt.button.color a "green" (verde). java acepta cualquier numero de opciones -D en la línea de comandos.

Variables de Entorno

CLASSPATH

Esta variable de entorno es usada para indicar al sistema la ruta de las clases definidas por el usuario. Los directorios deben estar separados por punto y coma (;). Cada entrada de la lista puede ser un directorio, un archivo ZIP o un archivo JAR. Por ejemplo:

C:\users\afq\classes;C:\jdk\classes.zip

Navegador

Home | Anterior | Siguiente | Indice | Correo