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