Java運(yùn)行環(huán)境概述
JRE 是運(yùn)行 Java 程序的最低的標(biāo)準(zhǔn) Java 平臺(tái)。它包含 Java 虛擬機(jī) (JVM)、Java核心類和支持文件。使用 ''java'' 工具從命令行調(diào)用 JRE(參見(jiàn)下一節(jié))。使用 -cp 選項(xiàng)指定應(yīng)用程序的類路徑。JRE 包括所有不可調(diào)試的 .so 文件以及來(lái)自 1.2.2 的支持純運(yùn)行時(shí)程序所必
需的類。JRE 不包含任何僅屬于一個(gè)開(kāi)發(fā)系統(tǒng)的開(kāi)發(fā)工具(如 appletviewer 或 javac) 和類。
在本文檔中,“供應(yīng)商”這個(gè)詞是指獲得許可的人、開(kāi)發(fā)商和獨(dú)立的軟件供應(yīng)商(ISV),他們用自己的 Java 程序發(fā)放 JRE 的使用許可和分發(fā) JRE。供應(yīng)商必須遵守 JRE 二進(jìn)制代碼許可協(xié)議的條款,其中包括:
1. 不得分發(fā) JRE 的必需文件和目錄的子集。您只能忽略下列作為可選項(xiàng)列出的文件。
2. 將 JRE 二進(jìn)制代碼許可協(xié)議包含在您的產(chǎn)品許可條款中。
供應(yīng)商還應(yīng)意識(shí)到與 JRE 相關(guān)的支持條件。有關(guān)信息:
http://www.java.sun.com/solaris/java/support.html
Java Runtime
jre 命令對(duì) JRE 1.2 來(lái)講已過(guò)時(shí),已與 java 命令合并。仍然使用的唯一的環(huán)境變量是CLASSPATH,現(xiàn)在可以使用 java 命令的 -classpath 和 -cp 選項(xiàng)覆蓋這個(gè)變量。JRE中過(guò)去用來(lái)預(yù)先考慮系統(tǒng)類路徑的 -cp 選項(xiàng),現(xiàn)在等同于新的 java 命令中的classpath。
這個(gè) java 命令調(diào)用 Java Runtime 來(lái)執(zhí)行 Java 應(yīng)用程序。該命令在 JRE 的 Solaris
SPARC(tm) 和 Solaris Intel 下載軟件包中可用。這個(gè) java 命令的語(yǔ)法如下:
java [ threads-flag ] [ options ] class [ argument ... ]
java [ threads-flag ] [ options ] -jar file.jar [ argument ... ]
類名參數(shù)是要執(zhí)行的類文件名稱。將傳遞給類的參數(shù)放在命令行的類名之后。使用 -cp選項(xiàng)指定應(yīng)用程序的類路徑。
這個(gè) java 命令的選項(xiàng)如下(來(lái)自 java.1 man 頁(yè)):
-classpath classpath
-cp classpath
指定用于搜索類文件的目錄、JAR 歸檔文件和 ZIP 歸檔文件的列表。 類路徑中的項(xiàng)用冒號(hào) ( 隔開(kāi)。指定 -classpath 或-cp 覆蓋 CLASSPATH 環(huán)境變量的任何設(shè)置。
用于 java 時(shí),-classpath 或 -cp 只是為用戶類指定類。用于oldjava 時(shí),-classpath 或 -cp 為用戶類和引導(dǎo)類指定類。
如果未使用 -classpath 和 -cp,也沒(méi)有設(shè)置 CLASSPATH, 則用戶類路徑由當(dāng)前目錄 (.) 構(gòu)成。
有關(guān)類路徑的詳細(xì)信息,請(qǐng)參見(jiàn)“設(shè)置類路徑”。
-debug 該選項(xiàng)已由 -Xdebug 代替。
-Dproperty=value設(shè)置一個(gè)系統(tǒng)屬性值。
-jar 執(zhí)行一個(gè) JAR 歸檔文件中封裝的程序。
第一個(gè)參數(shù)是一個(gè) JAR文件的名稱,而不是一個(gè)啟動(dòng)類的名稱。為了使該選項(xiàng)有效,JAR
文件清單中必須包含一行 Main-Class:classname 這樣的格式。
這里 classname 標(biāo)識(shí)擁有 public static void main(String[] args) 方法的類,該類作為您的應(yīng)用程序的啟點(diǎn)提供服務(wù)。有關(guān)使用 Jar 文件和 Jar 文件清單的信息,請(qǐng)參見(jiàn) Jar 工具參考頁(yè)以及“Java 教程”的 Jar 線索。使用該選項(xiàng)時(shí),JAR 文件是所有用戶類的源,其它用戶類路徑設(shè)置將被忽略。
第一個(gè)參數(shù)是一個(gè) JAR文件的名稱,而不是一個(gè)啟動(dòng)類的名稱。為了使該選項(xiàng)有效,JAR
文件清單中必須包含一行 Main-Class:classname 這樣的格式。
這里 classname 標(biāo)識(shí)擁有 public static void main(String[] args) 方法的類,該類作為您的應(yīng)用程序的啟點(diǎn)提供服務(wù)。有關(guān)使用 Jar 文件和 Jar 文件清單的信息,請(qǐng)參見(jiàn) Jar 工具參考頁(yè)以及“Java 教程”的 Jar 線索。使用該選項(xiàng)時(shí),JAR 文件是所有用戶類的源,其它用戶類路徑設(shè)置將被忽略。
oldjava 工具不支持 -jar 選項(xiàng)。
-noclassgc 該選項(xiàng)已由 -Xnoclassgc 代替。
-ossn 該選項(xiàng)已由 -Xossn 代替。
-msh 該選項(xiàng)已由 -Xmsn 代替。
-mxn 該選項(xiàng)已由 -Xmxn 代替。
-ssn 該選項(xiàng)已由 -Xssn 代替。
-t 該選項(xiàng)已由 -Xt 代替。
-tm 該選項(xiàng)已由 -Xtm 代替。
-verbose
-verbose:class
顯示有關(guān)每個(gè)所加載的類的信息。
-verbosegc 該選項(xiàng)已由 -verbose:gc 代替。
-verbose:gc 報(bào)告每個(gè)垃圾收集事件。
-verbose:jni 報(bào)告有關(guān)本機(jī)方法和其它 Java 本機(jī)接口活動(dòng)的使用情況。
-version 顯示版本信息并退出。
-?
-help
顯示用法信息并退出。
-X 顯示有關(guān)非標(biāo)準(zhǔn)選項(xiàng)的信息并退出。
-Xbootclasspath:bootclasspath 指定一個(gè)用來(lái)搜索引導(dǎo)類文件的目錄、JAR 歸檔文件和 ZIP 歸檔文件的列表,用冒號(hào)分隔。這些用于取代 JDK 1.2 軟件中所包含的引導(dǎo)類文件。
-Xdebug 在啟用調(diào)試程序的前提下啟動(dòng)。Java 解釋器打印輸出一個(gè)用于jdb(1) 的口令。詳細(xì)信息和一個(gè)示例,請(qǐng)參考對(duì) jdb(1) 的描述。
-Xcheck:jni 對(duì) Java 本機(jī)接口函數(shù)執(zhí)行額外的檢查。
-Xmaxjitcodesize 為 JIT 代碼區(qū)指定最大大小(以字節(jié)為單位)。
-Xnoclassgc 禁用類垃圾收集
-Xmsn 指定內(nèi)存分配池的初始大小。該值必須大于 1000。若要用 1000 乘以該值,請(qǐng)加上字母 k。若要用 1 百萬(wàn)乘以該值,請(qǐng)加上字母m。默認(rèn)值為 1m。
-Xmxn 指定內(nèi)存分配池的最大大小。該值必須大于 1000。若要用 1000 乘以該值,請(qǐng)加上字母 k。若要用 1 百萬(wàn)乘以該值,請(qǐng)加上字母m。默認(rèn)值為 16m。
-Xossn 每個(gè) Java 線程都有兩個(gè)堆棧:一個(gè)用于 Java 代碼,一個(gè)用于C 代碼。-Xoss 選項(xiàng)將一個(gè)線程中 Java 代碼可以使用的最大堆
棧大小設(shè)為 n。在傳遞給 java 的程序的執(zhí)行過(guò)程中產(chǎn)生的每個(gè)線程,將 n 作為其 Java 堆棧大小。n 的默認(rèn)單位是字節(jié),且n 必須大于 1000 字節(jié)。若要修改 n 的含義,請(qǐng)加上字母 k 表示千字節(jié),或字母 m 表示兆字節(jié)。默認(rèn)的堆棧大小是 400 千字節(jié) (-Xoss400k)。
-Xrunhprof[:help][:suboption=value,...]
啟用 cpu、heap 或 monitor 配置文件。該選項(xiàng)后面一般都帶一個(gè)用逗號(hào)分隔的 suboption=value 數(shù)對(duì)的列表。執(zhí)行命令 java -Xrunhprof:help 來(lái)獲得子選項(xiàng)及其默認(rèn)值的列表。
-Xprof[:file] 啟用配置文件。如果沒(méi)有指定文件,則將結(jié)果寫(xiě)入當(dāng)前目錄中的java.prof。
-Xssn 每個(gè) Java 線程都有兩個(gè)堆棧:一個(gè)用于 Java 代碼,一個(gè)用于C 代碼。-Xss 選項(xiàng)將一個(gè)線程中C 代碼可以使用的最大堆棧大
小設(shè)為 n。在傳遞給 java 的程序的執(zhí)行過(guò)程中產(chǎn)生的每個(gè)線程,將 n 作為其 Java 堆棧大小。n 的默認(rèn)單位是字節(jié),且 n 必須大于 1000 字節(jié)。若要修改 n 的含義,請(qǐng)加上字母 k 表示千字節(jié),或字母 m 表示兆字節(jié)。默認(rèn)的堆棧大小是128 千字節(jié)(-Xss128k)。
-Xrs 減少操作系統(tǒng)信號(hào)的使用。
-Xsqnopause 在 siqquit 上不暫停等待用戶的交互操作。
-Xt 開(kāi)啟指令跟蹤。