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)