java(1) java(1)
NAME
java - Java interpreter
SYNOPSIS
java [ options ] class [ argument ... ]
java [ options ] -jar file.jar
[ argument ... ]
PARAMETERS
Options may be in any order. For a discussion of parame-
ters which apply to a specific option, see OPTIONS below.
options Command-line options. See OPTIONS below.
class Name of the class to be invoked.
file.jar Name of the jar file to be invoked. Used
only with the -jar option.
DESCRIPTION
The java utility launches a Java application. It does
this by starting a Java runtime environment, loading a
specified class, and invoking that class's main method.
The method must have the following signature:
public static void main(String args[])
The method must be declared public and static, it must not
return any value, and it must accept a String array as a
parameter. By default, the first non-option argument is
the name of the class to be invoked. A fully-qualified
class name should be used. If the -jar option is speci-
fied, the first non-option argument is the name of a JAR
archive containing class and resource files for the appli-
cation, with the startup class indicated by the Main-Class
manifest header.
The Java runtime searches for the startup class, and other
classes used, in three sets of locations: the bootstrap
class path, the installed extensions, and the user class
path.
Non-option arguments after the class name or JAR file name
are passed to the main function.
OPTIONS
The launcher has a set of standard options that are sup-
ported on the current runtime environment and will be sup-
ported in future releases. However, options below that
are described as having been replaced by another one are
obsolete and may be removed in a future release. In addi-
tion, the current implementations of the virtual machines
support a set of non-standard options that are subject to
change in future releases.
Standard Options
-client Selects the Java HotSpot Client VM.
Note: The exact form of the -client option may be modified
in a future release.
-classpath classpath
-cp classpath
Specifies a list of directories, JAR archives, and
ZIP archives to search for class files. Class path
entries are separated by colons (:). Specifying
-classpath or -cp overrides any setting of the
CLASSPATH environment variable.
Used with java, the -classpath or -cp options only
specify the class path for user classes. If
-classpath and -cp are not used and CLASSPATH is
not set, the user class path consists of the cur-
rent directory (.).
-debug This has been replaced by -Xdebug.
-Dproperty=value
Sets a system property value.
-jar Executes a program encapsulated in a JAR archive.
The first argument is the name of a JAR file
instead of a startup class name. In order for this
option to work, the manifest of the JAR file must
contain a line of the form Main-Class:classname.
Here, classname identifies the class having the
public static void main(String[] args) method that
serves as your application's starting point. See
the Jar tool reference page and the Jar trail of
the Java Tutorial for information about working
with Jar files and Jar-file manifests. When you
use this option, the JAR file is the source of all
user classes, and other user class path settings
are ignored.
-noclassgc
This has been replaced by -Xnoclassgc.
-msn This has been replaced by -Xms n.
-mxn This has been replaced by -Xmx n.
-verbose
-verbose:class
Displays information about each class loaded.
-verbosegc
This has been replaced by -verbose:gc.
-verbose:gc
Reports on each garbage collection event.
-verbose:jni
Reports information about use of native methods and
other Java Native Interface activity.
-version
Displays version information and exit.
-showversion
Displays version information and continues.
-?
-help Displays usage information and exit.
-X Displays information about non-standard options and
exit.
Non-Standard Options
-Xint Operates in interpreted-only mode.
Compilation to native code is dis-
abled, and all bytecodes are executed
by the interpreter. The performance
benefits offered by the Java HotSpot
VMs' adaptive compiler will not be
present in this mode.
-Xbootclasspath:bootclasspath
Specifies a colon-separated list of
directories, JAR archives, and ZIP
archives to search for boot class
files. These are used in place of the
boot class files included in the Java
2 SDK and Java 2 Runtime Environment.
-Xbootclasspath/a:path
Specifies a colon-separated path of
directories, JAR archives, and ZIP
archives to append to the default
bootstrap class path.
-Xbootclasspath/p:path
Specifies a colon-separated path of
directories, JAR archives, and ZIP
archives to prepend in front of the
default bootstrap class path. Note:
Applications that use this option for
the purpose of overriding a class in
the default bootstrap class path
should not be deployed, as doing so
would contravene the Java 2 Runtime
Environment binary code license.
-Xdebug Starts with the debugger enabled. The
Java interpreter prints out a password
for the use of jdb(1). Refer to
jdb(1) for more details and an exam-
ple.
-Xfuture Performs strict class-file format
checks. For purposes of backwards
compatibility, the default format
checks performed by the Java 2 SDK's
virtual machine are no stricter than
the checks performed by 1.1.x versions
of the JDK software. The -Xfuture
flag turns on stricter class-file for-
mat checks that enforce closer confor-
mance to the class-file format speci-
fication. Developers are encouraged
to use this flag when developing new
code because the stricter checks will
become the default in future releases
of the Java application launcher.
-Xnoclassgc Disables class garbage collection
-Xmsn Specifies the initial size of the mem-
ory allocation pool. This value must
be greater than 1000. To modify the
meaning of n, append either the letter
k for kilobytes or the letter m for
megabytes.
-Xmxn Specifies the maximum size of the mem-
ory allocation pool. This value must
be greater than 1000. To modify the
meaning of n, append either the letter
k for kilobytes or the letter m for
megabytes.
-Xprof Profiles the running program, and
sends profiling data to standard out-
put. This option is provided as a
utility that is useful in program
development and is not intended to be
be used in production systems.
-Xrunhprof[:help][:suboption=value,...]
Enables cpu, heap, or monitor profil-
ing. This option is typically fol-
lowed by a list of comma-separated
suboption=value pairs. Run the com-
mand java -Xrunhprof:help to obtain a
list of suboptions and their default
values.
-Xssn Each Java thread has two stacks: one
for Java code and one for C code. The
-Xss option sets the maximum stack
size that can be used by C code in a
thread to n. Every thread that is
spawned during the execution of the
program passed to java has n as its C
stack size. The default units for n
are bytes and n must be > 1000 bytes.
To modify the meaning of n, append
either the letter k for kilobytes or
the letter m for megabytes.
-Xrs Reduce usage of operating-system sig-
nals by Java virtual machine (JVM).
The JVM catches signals to implement
shutdown hooks for abnormal JVM termi-
nation. The JVM uses SIGHUP, SIGINT,
and SIGTERM to initiate the running of
shutdown hooks. The JVM uses SIGQUIT
to perform thread dumps.
Applications that embed the JVM fre-
quently need to trap signals like SIG-
INT or SIGTERM, and in such cases
there is the possibility of interfer-
ence between the applications' signal
handlers and the JVM shutdown-hooks
facility.
To avoid such interference, the -Xrs
option can be used to turn off the JVM
shutdown-hooks feature. When -Xrs is
used, the signal masks for SIGINT,
SIGTERM, SIGHUP, and SIGQUIT are not
changed by the JVM, and signal han-
dlers for these signals are not
installed.
ENVIRONMENT VARIABLES
CLASSPATH Used to provide the system with a path
to user-defined classes. Directories
are separated by colons. For example:
.:/Users/vlh/classes:/Users/Shared/classes
SEE ALSO
javac(1), jdb(1), javac(1), jar(1)
See (or search java.sun.com) for the following:
JDK File Structure @
http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/jdk-
files.html
Setting the Classpath @
http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/class-
path.html
JAR Files @
http://java.sun.com/docs/books/tutorial/jar/
NOTES
All the -X options are unstable. As noted in the OPTIONS
section, some of the "standard" options are obsolete.
3 May 2001 java(1)