man pages for java

SunOS 5.8 Last change: 18 Dec 1998
NAME
     java - Java interpreter

SYNOPSIS
     java [ -cs | -checksource ] [ -classpathpath ]
          [ -DpropertyName=newValue ] [ -debug ] [ -fullversion ]
          [ -help ] [ -msx ] [ -mxx ] [ -noasyncgc ]
          [ -noclassgc ] [ -noverify ] [ -ossx ] [ -prof ]
          [ -proffile ] [ -ssx ] [ -t ] [ -v | -verbose ]
          [ -verbosegc ] [ -verify ] [ -verifyremote ]
          [ -version ] classname 
     java_g [ -cs | -checksource ] [ -classpathpath ]
          [ -DpropertyName=newValue ] [ -debug ] [ -fullversion ]
          [ -help ] [ -msx ] [ -mxx ] [ -noasyncgc ]
          [ -noclassgc ] [ -noverify ] [ -ossx ] [ -prof ]
          [ -proffile ] [ -ssx ] [ -t ] [ -v | -verbose ]
          [ -verbosegc ] [ -verify ] [ -verifyremote ]
          [ -version ] classname 

DESCRIPTION
     The java command executes Java bytecodes created by the Java
     compiler,  javac.   The JIT (just in time) compiler compiles
     these bytecodes into machine instructions by default in  the
     Solaris  Java VM when using java.  (To disable this default,
     see the USAGE section below.)

     The classname argument is the name of the class to  be  exe-
     cuted  and  must be fully qualified by including the package
     in the name, for example:

          example% java java.lang.String

     Note that any arguments that appear after classname  on  the
     command line are passed to the main() method of the class.

     The bytecodes for  the  class  are  put  in  a  file  called
     classname.class  by  compiling the corresponding source file
     with javac. All Java bytecode files end  with  the  filename
     extension  .class which the compiler automatically adds when
     the class is compiled.  The classname argument must  contain
     a main() method defined as follows:

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

     The java command executes the main() method and exits unless
     main()  creates  one  or  more  threads.  In this case, java
     doesn't exit until the last thread exits.

     When defining  classes,  specify  their  location  with  the
     CLASSPATH  environment  variable, which consists of a colon-
     separated list of directories that specifies the path.   For
     example:

          .:/home/avh/classes

     Note that the system always appends the location of the sys-
     tem classes onto the end of the class path.

     Ordinarily, compile source files with javac,  then  run  the
     program  using  java.   However, java can be used to compile
     and run programs when the -cs option is used. As each  class
     is  loaded, the modification date is compared to that of the
     class source file. If the  source  has  been  modified  more
     recently,  it  is  recompiled  and  the new bytecode file is
     loaded. The java command repeats this  procedure  until  all
     the classes are correctly compiled and loaded.

     The interpreter determines whether a class is legitimate  by
     verification  that  ensures that the bytecodes, being inter-
     preted, do not violate language constraints.

     java_g is a non-optimized  version  of  java  for  use  with
     debuggers  like  jdb(1).  When using java_g to run a program
     that loads a shared library, you must supply a debug version
     of the library.  You can create a debug version of a library
     by simply appending "_g" to the name of the file.  For exam-
     ple,  if  the  library was libhello.so, the debug version of
     the library would be named libhello.so_g.

OPTIONS
     -cs | -checksource
                    When a compiled class is loaded, this  option
                    causes  the  modification  time  of the class
                    bytecode file to be compared to that  of  the
                    class  source  file.  If  the source has been
                    modified more recently, it is recompiled  and
                    the new bytecode file is loaded.

     -classpathpath Specifies the path that java uses to look  up
                    classes.    This  overrides  the  default  or
                    CLASSPATH environment variable, if it is set.
                    The system appends the location of the system
                    classes onto the end  of  path.   Directories
                    are  separated  by  colons. Thus, the general
                    format for path is:

                         .:

                    For example:

                         .:/home/avh/classes:/usr/local/java/classes

     -DpropertyName=newValue
                    Redefines a property value where propertyName
                    is  the  name  of  the  property  value to be
                    changed and newValue is the value. For  exam-
                    ple, this command line

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

                    sets    the    value    of    the    property
                    awt.button.color  to green.  java accepts any
                    number of -D options on the command line.

     -debug         Allows the Java debugger - jdb(1) - to attach
                    itself  to  this java session. When -debug is
                    specified on the command line java displays a
                    password  that must be used when starting the
                    debugging session.

     -fullversion   Displays full version information.

     -help          Displays a usage message.

     -msx           Sets the startup size of the  memory  alloca-
                    tion  pool (the garbage collected heap) to x.
                    The default is 4 megabytes of memory.  x must
                    be  >  1000  bytes  and  must be less than or
                    equal to the maximum memory  size  (specified
                    with the -mx option).

                    By  default,  x  is  measured  in  bytes.  To
                    specify  x  in either kilobytes or megabytes,
                    append "k" for kilobytes  or  "m"  for  mega-
                    bytes.

     -mxx           Sets the maximum size of the  memory  alloca-
                    tion  pool (the garbage collected heap) to x.
                    The default is 16  megabytes  of  memory.   x
                    must be > 1000 bytes and must be greater than
                    or equal to the startup memory  size  (speci-
                    fied with the -ms option).

                    By  default,  x  is  measured  in  bytes.  To
                    specify  x  in either kilobytes or megabytes,
                    append the letter "k" for  kilobytes  or  the
                    letter "m" for megabytes.

     -noasyncgc     Turns off  asynchronous  garbage  collection.
                    When  activated  no  garbage collection takes
                    place unless it is explicitly called  or  the
                    program runs out of memory.  Normally garbage
                    collection runs as an asynchronous thread  in
                    parallel with other threads.

     -noclassgc     Turns off garbage collection of Java classes.
                    By  default,  the  Java  interpreter reclaims
                    space for unused Java classes during  garbage
                    collection.

     -noverify      Turns verification off.

     -ossx          Each Java thread has two stacks: one for Java
                    code and one for C code. The -oss option sets
                    the maximum stack size that can  be  used  by
                    Java code in a thread to x. Every thread that
                    is spawned during the execution of  the  pro-
                    gram  passed  to java has x as its Java stack
                    size. The default units for x are bytes and x
                    must be > 1000 bytes.

                    To modify the meaning of x, append either the
                    letter  "k"  for  kilobytes or the letter "m"
                    for megabytes. The default stack size is  400
                    kilobytes (-oss400k).

     -prof          Starts Java runtime  with  java(1)  profiling
                    enabled.    By  default,  this  puts  profile
                    results in the file ./java.prof.  This option
                    only works with java_g.

     -proffile      Starts Java runtime  with  java(1)  profiling
                    enabled.  This  form of the option allows the
                    user to specify a different output  file  for
                    the  profile  information.   For example, the
                    option  -prof:myprog.prof  enables  profiling
                    and  puts  the  profile  results  in the file
                    myprog.prof rather than in the  default  file
                    ./java.prof.

     -ssx           Each Java thread has two stacks: one for Java
                    code  and one for C code. The -ss option sets
                    the maximum stack size that can be used by  C
                    code  in  a thread to x. Every thread that is
                    spawned during the execution of  the  program
                    passed to java has x as its C stack size. The
                    default units for x are bytes and x must be >
                    1000 bytes.

                    To modify the meaning of x, append either the

                    letter  "k"  for  kilobytes or the letter "m"
                    for megabytes. The default stack size is  128
                    kilobytes (-ss128k).

     -t             Prints a trace of the  instructions  executed
                    (java_g only).

     -v | -verbose  Causes java to print a message to stdout each
                    time a class file is loaded.

     -verbosegc     Causes the garbage collector  to  print  mes-
                    sages whenever it frees memory.

     -verify        Runs the verifier on all code.

     -verifyremote  Runs the verifier on all code that is  loaded
                    into  the system via a classloader. The -ver-
                    ifyremote  option  is  the  default  for  the
                    interpreter.

     -version       Displays the build version information.

USAGE
     The java command uses the JIT compiler by default. Either of
     the  following  methods may be used to disable this default:
     (1) set the JAVA_COMPILER environment variable to "NONE", or
     (2) use the -D option as follows:

          example% java -Djava.compiler=none classname

ENVIRONMENT VARIABLES
     CLASSPATH      Used to provide the system  with  a  path  to
                    user-defined    classes.    Directories   are
                    separated by colons, for example:

                         .:/home/avh/classes:/usr/local/java/classes

     JAVA_COMPILER  Overrides the default value for the  property
                    java.compiler  uses  to  speed program execu-
                    tion.  The default value is  "sunwjit"  which
                    causes  the file libsunwjit.so to be used.  A
                    value of "NONE" turns off compilation.

FILES
     libsunwjit.so       Library  containing   runtime   bytecode
                         optimization files.

ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     __________________________________
    | ATTRIBUTE TYPE|  ATTRIBUTE VALUE|
    |__________________________________
    | Availability  |  SUNWjvrt       |
    |_______________|_________________|

SEE ALSO
     javac(1), javadoc(1), javah(1), javap(1), jdb(1)