jre - The Java Runtime Interpreter (Win32)

jre interprets (executes) Java bytecodes.

SYNOPSIS

   jre [ options ] classname <args>
   jrew [ options ] classname <args>

DESCRIPTION

The jre command executes Java class files. The jrew command is identical to jre, except that with jrew there is no associated console window. Use jrew when you don't want a command prompt window to appear.

The classname argument is the name of the class file to be executed. Any arguments to be passed to the class must be placed after the classname on the command line. On Windows platforms, the jre tool ignores the CLASSPATH environment variable. The -cp option should be used to specify an application's class path.

USING THE JIT

By default, each class file is compiled to native code by a Just In Time bytecode compiler, or JIT. Using the JIT can cause some delay in program startup and class file loading, but can also reduce overall program execution time by a factor of ten.

On Windows, jre ignores the environment variable JAVA_COMPILER. To disable the JIT, use the -nojit option. To use an alternate JIT, use the -D option to set the java.compiler property. The launcher appends .DLL to the property value, then searches for the resulting filename. The search begins in the executable directory (the same directory that contains JRE.EXE), and continues with all directories in the PATH. For example:

    jre -Djava.compiler=myjit MyClass

OPTIONS

-classpath path(s)
Specifies the path or paths that jre uses to look up classes. Overrides the default classpath set in the registry. If more than one path is specified, they must be separated by semicolons. Each path should end with the directory containing the class file(s) to be executed. However, if a file to be executed is a zip or jar file, the path to that file must end with the file's name. Here is an example of an argument for -classpath consisting of two paths:
   C:\xyz\classes;C:\usr\local\java\classes\MyClasses.jar

-cp path(s)
Prepends the specified path or paths to the base classpath that jre uses to look up classes. If more than one path is specified, they must be separated by semicolons. Each path should end with the directory containing the class file(s) to be executed. However, if a file to be executed is a zip or jar file, the path to that file must end with the file's name. Here is an example of an argument for -cp consisting of two paths:
   C:\xyz\classes;C:\usr\local\java\classes\MyClasses.jar

-help
Print a usage message.

-mxx
Sets the maximum size of the memory allocation pool (the garbage collected heap) to x. The default is 16 megabytes of memory. x must be greater than or equal to 1000 bytes.

By default, x is measured in bytes. You can specify x in either kilobytes or megabytes by appending the letter "k" for kilobytes or the letter "m" for megabytes.

-ms x
Sets the startup size of the memory allocation pool (the garbage collected heap) to x. The default is 1 megabyte of memory. x must be > 1000 bytes.

By default, x is measured in bytes. You can specify x in either kilobytes or megabytes by appending 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.

-nojit
Don't invoke the Just In Time bytecode compiler. The virtual machine directly interprets bytecodes, without converting them to native code.

-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 jre has x as its C stack size. The default units for x are bytes. The value of x must be greater than or equal to 1000 bytes.

You can modify the meaning of x by appending either the letter "k" for kilobytes or the letter "m" for megabytes. The default stack size is 128 kilobytes ("-ss128k").

-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 program passed to jre has x as its Java stack size. The default units for x are bytes. The value of x must be greater than or equal to 1000 bytes.

You can modify the meaning of x by appending either the letter "k" for kilobytes or the letter "m" for megabytes. The default stack size is 400 kilobytes ("-oss400k").

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

-verify
Performs byte-code verification on the class file. Beware, however, that java -verify does not perform a full verification in all situations. Any code path that is not actually executed by the interpreter is not verified. Therefore, java -verify cannot be relied upon to certify class files unless all code paths in the class file are actually run.

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

-noverify
Turns verification off.

-verbosegc
Causes the garbage collector to print out messages whenever it frees memory.

-DpropertyName=newValue
Defines a property value. propertyName is the name of the property whose value you want to change and newValue is the value to change it to. For example, this command line
% jre -Dawt.button.color=green ...
sets the value of the property awt.button.color to "green". jre accepts any number of -D options on the command line.

SEE ALSO

java