Java运行环境概述

JRE 是运行 Java 程序的最低的标准 Java 平台。它包含 Java 虚拟机 (JVM)、Java核心类和支持文件。使用 ''java'' 工具从命令行调用 JRE(参见下一节)。使用 -cp 选项指定应用程序的类路径。JRE 包括所有不可调试的 .so 文件以及来自 1.2.2 的支持纯运行时程序所必

需的类。JRE 不包含任何仅属于一个开发系统的开发工具(如 appletviewer 或 javac) 和类。

在本文档中,“供应商”这个词是指获得许可的人、开发商和独立的软件供应商(ISV),他们用自己的 Java 程序发放 JRE 的使用许可和分发 JRE。供应商必须遵守 JRE 二进制代码许可协议的条款,其中包括:

1. 不得分发 JRE 的必需文件和目录的子集。您只能忽略下列作为可选项列出的文件。

2. 将 JRE 二进制代码许可协议包含在您的产品许可条款中。

供应商还应意识到与 JRE 相关的支持条件。有关信息:

Java Runtime

jre 命令对 JRE 1.2 来讲已过时,已与 java 命令合并。仍然使用的唯一的环境变量是CLASSPATH,现在可以使用 java 命令的 -classpath 和 -cp 选项覆盖这个变量。JRE中过去用来预先考虑系统类路径的 -cp 选项,现在等同于新的 java 命令中的classpath。

这个 java 命令调用 Java Runtime 来执行 Java 应用程序。该命令在 JRE 的 Solaris

SPARC(tm) 和 Solaris Intel 下载软件包中可用。这个 java 命令的语法如下:

java [ threads-flag ] [ options ] class [ argument ... ]
java [ threads-flag ] [ options ] -jar file.jar [ argument ... ]

类名参数是要执行的类文件名称。将传递给类的参数放在命令行的类名之后。使用 -cp选项指定应用程序的类路径。

这个 java 命令的选项如下(来自 java.1 man 页):

-classpath classpath
-cp classpath

指定用于搜索类文件的目录、JAR 归档文件和 ZIP 归档文件的列表。 类路径中的项用冒号 ( 隔开。指定 -classpath 或-cp 覆盖 CLASSPATH 环境变量的任何设置。

用于 java 时,-classpath 或 -cp 只是为用户类指定类。用于oldjava 时,-classpath 或 -cp 为用户类和引导类指定类。

如果未使用 -classpath 和 -cp,也没有设置 CLASSPATH, 则用户类路径由当前目录 (.) 构成。

有关类路径的详细信息,请参见“设置类路径”。

-debug 该选项已由 -Xdebug 代替。

-Dproperty=value设置一个系统属性值。

-jar 执行一个 JAR 归档文件中封装的程序。

第一个参数是一个 JAR文件的名称,而不是一个启动类的名称。为了使该选项有效,JAR

文件清单中必须包含一行 Main-Class:classname 这样的格式。

这里 classname 标识拥有 public static void main(String[] args) 方法的类,该类作为您的应用程序的启点提供服务。有关使用 Jar 文件和 Jar 文件清单的信息,请参见 Jar 工具参考页以及“Java 教程”的 Jar 线索。使用该选项时,JAR 文件是所有用户类的源,其它用户类路径设置将被忽略。

第一个参数是一个 JAR文件的名称,而不是一个启动类的名称。为了使该选项有效,JAR

文件清单中必须包含一行 Main-Class:classname 这样的格式。

这里 classname 标识拥有 public static void main(String[] args) 方法的类,该类作为您的应用程序的启点提供服务。有关使用 Jar 文件和 Jar 文件清单的信息,请参见 Jar 工具参考页以及“Java 教程”的 Jar 线索。使用该选项时,JAR 文件是所有用户类的源,其它用户类路径设置将被忽略。

oldjava 工具不支持 -jar 选项。

-noclassgc 该选项已由 -Xnoclassgc 代替。

-ossn 该选项已由 -Xossn 代替。

-msh 该选项已由 -Xmsn 代替。

-mxn 该选项已由 -Xmxn 代替。

-ssn 该选项已由 -Xssn 代替。

-t 该选项已由 -Xt 代替。

-tm 该选项已由 -Xtm 代替。

-verbose

-verbose:class

显示有关每个所加载的类的信息。

-verbosegc 该选项已由 -verbose:gc 代替。

-verbose:gc 报告每个垃圾收集事件。

-verbose:jni 报告有关本机方法和其它 Java 本机接口活动的使用情况。

-version 显示版本信息并退出。

-?

-help

显示用法信息并退出。

-X 显示有关非标准选项的信息并退出。

-Xbootclasspath:bootclasspath 指定一个用来搜索引导类文件的目录、JAR 归档文件和 ZIP 归档文件的列表,用冒号分隔。这些用于取代 JDK 1.2 软件中所包含的引导类文件。

-Xdebug 在启用调试程序的前提下启动。Java 解释器打印输出一个用于jdb(1) 的口令。详细信息和一个示例,请参考对 jdb(1) 的描述。

-Xcheck:jni 对 Java 本机接口函数执行额外的检查。

-Xmaxjitcodesize 为 JIT 代码区指定最大大小(以字节为单位)。

-Xnoclassgc 禁用类垃圾收集

-Xmsn 指定内存分配池的初始大小。该值必须大于 1000。若要用 1000 乘以该值,请加上字母 k。若要用 1 百万乘以该值,请加上字母m。默认值为 1m。

-Xmxn 指定内存分配池的最大大小。该值必须大于 1000。若要用 1000 乘以该值,请加上字母 k。若要用 1 百万乘以该值,请加上字母m。默认值为 16m。

-Xossn 每个 Java 线程都有两个堆栈:一个用于 Java 代码,一个用于C 代码。-Xoss 选项将一个线程中 Java 代码可以使用的最大堆

栈大小设为 n。在传递给 java 的程序的执行过程中产生的每个线程,将 n 作为其 Java 堆栈大小。n 的默认单位是字节,且n 必须大于 1000 字节。若要修改 n 的含义,请加上字母 k 表示千字节,或字母 m 表示兆字节。默认的堆栈大小是 400 千字节 (-Xoss400k)。

-Xrunhprof[:help][:suboption=value,...]

启用 cpu、heap 或 monitor 配置文件。该选项后面一般都带一个用逗号分隔的 suboption=value 数对的列表。执行命令 java -Xrunhprof:help 来获得子选项及其默认值的列表。

-Xprof[:file] 启用配置文件。如果没有指定文件,则将结果写入当前目录中的java.prof。

-Xssn 每个 Java 线程都有两个堆栈:一个用于 Java 代码,一个用于C 代码。-Xss 选项将一个线程中C 代码可以使用的最大堆栈大

小设为 n。在传递给 java 的程序的执行过程中产生的每个线程,将 n 作为其 Java 堆栈大小。n 的默认单位是字节,且 n 必须大于 1000 字节。若要修改 n 的含义,请加上字母 k 表示千字节,或字母 m 表示兆字节。默认的堆栈大小是128 千字节(-Xss128k)。

-Xrs 减少操作系统信号的使用。

-Xsqnopause 在 siqquit 上不暂停等待用户的交互操作。

-Xt 开启指令跟踪。