java jre、jdk、server jre
JRE(Java Runtime Enviroment)是Java的執行環境。面向Java程式的使用者,而不是開發者。JRE是執行Java程式所必須環境的集合,包含JVM標準實現及 Java核心類庫。它包括Java虛擬機器、Java平臺核心類和支援檔案。它不包含開發工具(編譯器、偵錯程式等)。
JDK(Java Development Kit)又稱J2SDK(Java2 Software Development Kit),是Java開發工具包,它提供了Java的開發環境(提供了編譯器javac等工具,用於將java檔案編譯為class檔案)和執行環境(提 供了JVM和Runtime輔助包,用於解析class檔案使其得到執行)。如果你下載並安裝了JDK,那麼你不僅可以開發Java程式,也同時擁有了運 行Java程式的平臺。JDK是整個Java的核心,包括了Java執行環境(JRE),
Software Developers: JDK (Java SE Development Kit). For Java Developers. Includes a complete JRE plus tools for developing, debugging, and monitoring Java applications. Administrators running applications on a server: Server JRE
轉自
https://blog.csdn.net/hanghangde/article/details/50609074
JDK(Java Development Kit,Java開發包,Java開發工具)是一個寫Java的applet和應用程式的程式開發環境。它由一個處於作業系統層之上的執行環境還有開發者 編譯,除錯和執行用Java語言寫的applet和應用程式所需的工具組成。
JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK(Software development kit)。
JDK包含的基本元件包括:
·javac – 編譯器,將源程式轉成位元組碼
·jar – 打包工具,將相關的類檔案打包成一個檔案
·javadoc – 文件生成器,從原始碼註釋中提取文件
·jdb – debugger,查錯工具
JDK中還包括完整的JRE(Java Runtime Environment,Java執行環境),也被稱為private runtime。包括了用於產品環境的各種庫類,以及給開發員使用的補充庫,如國際化的庫、IDL庫。
JDK中還包括各種例子程式,用以展示Java API中的各部分。
從初學者角度來看,採用JDK開發Java程式能夠很快理解程式中各部分程式碼之間的關係,有利於理解Java面向物件的設計思想。JDK的另一個顯著特點 是隨著Java (J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規模企業級Java應用開發非常困難,不能進行復雜的Java 軟體開發,也不利於團體協同開發。
JDK一般有三種版本:
SE(J2SE),standard edition,標準版,是我們通常用的一個版本
EE(J2EE),enterpsise edtion,企業版,使用這種JDK開發J2EE應用程式,
ME(J2ME),micro edtion,主要用於移動裝置、嵌入式裝置上的java應用程式
Java開發工具(JDK)是許多Java專家最初使用的開發環境。儘管許多程式設計人員已經使用第三方的開發工具,但JDK仍被當作Java開發的重要工具。
JDK由一個標準類庫和一組建立,測試及建立文件的Java實用程式組成。其核心Java
API是一些預定義的類庫,開發人員需要用這些類來訪問Java語言的功能。Java API包括一些重要的語言結構以及基本圖形,網路和檔案I/O。一般來說,Java API的非I/O部分對於執行Java的所有平臺是相同的,而I/O部分則僅在通用Java環境中實現。
作為JDK實用程式,工具庫中有七種主要程式。
Javac:Java編譯器,將Java原始碼轉換成位元組碼。
Java:Java直譯器,直接從類檔案執行Java應用程式位元組程式碼。
appletviewer:小程式瀏覽器,一種執行HTML檔案上的Java小程式的Java瀏覽器。
Javadoc:根據Java原始碼及說明語句生成HTML文件。
Jdb:Java偵錯程式,可以逐行執行程式,設定斷點和檢查變數。
Javah:產生可以呼叫Java過程的C過程,或建立能被Java程式呼叫的C過程的標頭檔案。
Javap:Java反彙編器,顯示編譯類檔案中的可訪問功能和資料,同時顯示位元組程式碼含義。
一、JDK檔案結構
本文件給出 JDK 目錄及其所包含的檔案的概述。
開發檔案和目錄
本節對開發 Java 平臺應用程式所要求的檔案和目錄進行說明。(不要求的目錄有:演示程式、Java 原始碼和 C 標頭檔案。下一節附加檔案和目錄將對它們進行論述。) 下圖列出的是最重要的目錄:
jdk1.2
___________|____________________
| | |
bin lib jre
| | __________|___________
java.exe tools.jar | |
javac.exe dt.jar bin lib
javap.exe _____|____ ________|________
javah.exe | | | | |
javadoc.exe java.exe classic rt.jar ext
security
java.dll | i18n.jar |
awt.dll jvm.dll iiimp.jar
假定 JDK 軟體安裝在 c:\jdk1.2 目錄中,下面列出的是那些關鍵目錄及它們之所以重要的原因:
c:\jdk1.2
JDK 軟體安裝的根目錄。包含版權、許可及 README 檔案。還包括:
src.jar -- 構成 Java 平臺核心 API 的所有類的原始檔的歸檔。
c:\jdk1.2\bin
Java 開發工具包 (JDK) 中所包含的開發工具的可執行檔案。PATH 環境變數應該包含一個指示此目錄的項。有關工具的詳細資訊,參見 JDK 工具。
c:\jdk1.2\lib
開發工具使用的檔案。這些檔案包括 tools.jar,它包含支援 JDK 的工具和實用程式的非核心類。還包括 dt.jar,它是 BeanInfo 檔案的 DesignTime 歸檔,BeanInfo 檔案用來告訴互動開發環境 (IDE) 如何顯示 Java 元件以及如何讓開發人員根據應用程式自定義它們。
c:\jdk1.2\jre
JDK 開發工具所使用的 Java 執行時環境的根目錄。執行時環境是 Java 1.2 平臺的實現。除了文件外,它與可部署的 JRE 完全相同。
c:\jdk1.2\jre\bin
Java 平臺使用的工具和庫的可執行檔案及 DLL。可執行檔案與 /jdk1.2/bin 中的檔案相同。java 啟動器工具擔當應用程式啟動器的角色,它替代了與 1.1 版的 JDK 軟體一同發行的舊 jre 工具。不必將該目錄放在 PATH 環境變數中。
c:\jdk1.2\jre\bin\classic
包含經典虛擬機器使用的 Windows DLL 檔案。經典虛擬機器是 Java 虛擬機器的語言直譯器版本。當新的虛擬機器可用時,它們的 DLL 將被安裝在 jre/bin 的某個新子目錄中。
c:\jdk1.2\jre\lib
Java 執行時環境使用的程式碼庫、屬性設定和資原始檔。包括:
rt.jar -- 自舉類(構成 Java 平臺核心 API 的 RunTime 類)。
i18n.jar -- 字元轉換類及其它與國際化和本地化有關的類。
除(下面將要闡述的) ext 子目錄以外,還有幾個資源子目錄不在此處說明。
c:\jdk1.2\jre\lib\ext
Java 平臺擴充套件的預設安裝目錄。例如,這是安裝時 JavaHelp jar 檔案的安裝目錄。包括:
iiimp.jar -- 實現 Internet-Intranet 輸入方法協議的類,供從使用國際字符集的裝置上接收輸入的應用程式來使用。
c:\jdk1.2\jre\lib\security
包含用於安全管理的檔案。這些檔案包括安全策略 (java.policy) 和安全屬性 (java.security) 檔案。
附加檔案和目錄
本節說明演示程式、Java 原始碼和 C 標頭檔案的目錄結構。下面是目錄結構:
jdk1.2
__________ _____|_____ _____________
| | | |
src.jar demo include include-old
___|___
| |
applets jfc
|
Java2D
以上所顯示的附加目錄為:
c:\jdk1.2\demo
含有原始碼的程式示例,用於顯示如何為 Java 平臺程式設計。
c:\jdk1.2\demo\applets
可用在網頁上的 applet。
c:\jdk1.2\demo\jfc
使用新 JFC\Swing 元件的示例。
c:\jdk1.2\demo\jfc\Java2D
使用新 Java 2D 圖形的示例。
c:\jdk1.2\include
C 語言標頭檔案,它支援使用 Java 本地介面 [ web]和 Java 虛擬機器除錯程式介面 [ web] 的原生代碼程式設計技術。
c:\jdk1.2\include-old
標頭檔案,支援使用舊介面的原生代碼程式設計技術。提供這些標頭檔案只是為了向後相容。所有 Java 虛擬機器都不推薦、不支援也不提供這些介面。
JDK中bin目錄下常用命令註釋
HtmlConverter.exe 用法:HtmlConverter [-option1 value1 [-option2 value2 [...]]] [-simulate] [filespecs] 其中,選項包括: -source: 獲取原始檔的路徑。 預設值: <userdir>
-dest: 寫入已轉換檔案的路徑。 預設值: <userdir>
-backup: 寫備份檔案的路徑。 預設值: <dirname>_BAK
-f: 強制覆寫備份檔案。
-subdirs: 應處理子目錄中的檔案。
-template: 模板檔案的路徑。 如果不確定,請使用預設值。
-log: 寫日誌的路徑。 如果沒有提供,則不會寫入任何日誌。
-progress: 轉換時顯示進度。 預設值: true
-simulate: 在沒有進行轉換時顯示特定於轉換的資訊。
-latest: 使用最新的 JRE 支援發行版 mimetype。
-gui: 顯示轉換程式的圖形使用者介面。 filespecs: 用空格分開的檔案說明列表。 預設值: "*.html *.htm" (需要引號)
javap
rmic
功能說明:為遠端物件生成 stub 和 skeleton。
語法:rmic [ options ] package-qualified-class-name(s)
rmid
功能說明:啟動啟用系統守護程序,以便能夠在 Java 虛擬機器上註冊和啟用物件。
語法:rmid [-port port] [-log dir]
用法:rmid <option>
rmiregistry
功能說明:命令可在當前主機的指定埠上啟動遠端物件註冊服務程式。
用法: rmiregistry <選項> <埠>
serialver
功能說明:命令返回 serialVersionUID。
語法:serialver [ 命令選項 ]
jarsigner
功能說明:為Java歸檔 (JAR) 檔案產生簽名,並校驗已簽名的 JAR 檔案的簽名。
用法:jarsigner [options] jar-file alias
jarsigner -verify [options] jar-file
...
keytool
功能說明:管理由私鑰和認證相關公鑰的 X.509 證書鏈組成的金鑰倉庫(資料庫),還管理來自可信任實體的證書
keytool 用法:
-certreq [-v] [-alias <alias>] [-sigalg <sigalg>][-file <csr_file>] [-keypass <keypass>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -delete [-v] -alias <alias>
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -export [-v] [-rfc] [-alias <alias>] [-file <cert_file>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -genkey [-v] [-alias <alias>] [-keyalg <keyalg>]
[-keysize <keysize>] [-sigalg <sigalg>]
[-dname <dname>] [-validity <valDays>]
[-keypass <keypass>] [-keystore <keystore>]
[-storepass <storepass>] [-storetype <storetype>]
[-provider <provider_class_name>] ... -help -identitydb [-v] [-file <idb_file>] [-keystore <keystore>]
[-storepass <storepass>] [-storetype <storetype>] -import [-v] [-noprompt] [-trustcacerts] [-alias <alias>]
[-file <cert_file>] [-keypass <keypass>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -keyclone [-v] [-alias <alias>] -dest <dest_alias>
[-keypass <keypass>] [-new <new_keypass>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -keypasswd [-v] [-alias <alias>]
[-keypass <old_keypass>] [-new <new_keypass>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -list [-v | -rfc] [-alias <alias>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ... -printcert [-v] [-file <cert_file>] -selfcert [-v] [-alias <alias>] [-sigalg <sigalg>]
[-dname <dname>] [-validity <valDays>]
[-keypass <keypass>] [-keystore <keystore>]
[-storepass <storepass>] [-storetype <storetype>]
[-provider <provider_class_name>] ...
-storepasswd [-v] [-new <new_storepass>]
[-keystore <keystore>] [-storepass <storepass>]
[-storetype <storetype>] [-provider <provider_class_name>] ...
native2ascii
功能說明:將含有本地編碼字元(既非 Latin1 又非 Unicode 字元)的檔案轉換為 Unicode 編碼字元的檔案。
語法:native2ascii [options] [inputfile [outputfile]]
範例
aaa.txt檔案內容包括:中國
native2ascii aaa.txt bbb.txt
執行後變為:/u4e2d/u56fd
aaa.txt檔案內容包括:/u4e2d/u56fd
native2ascii -reverse aaa.txt bbb.txt
執行後變為:中國
appletviewer
功能說明:Java applet 瀏覽器。appletviewer 命令可在脫離全球資訊網瀏覽器環境的情況下執行 applet
語法:appletviewer [ threads flag ] [ 命令選項 ] urls ...
extcheck
功能說明:extcheck 檢測目標 jar 檔案與當前安裝方式擴充套件 jar 檔案間的版本衝突
語法:extcheck [ -verbose ] targetfile.jar
壓縮程式Jar.exe
壓縮程式jar.exe的功能是把多個檔案以zip格式壓縮到一個副檔名為jar的檔案中,這樣可以保持程式的完整性並便於使用。它也可以用來解壓縮jar檔案中的檔案,但是好象不如用壓縮工具Winzip WinRAR來得方便。
1. 一個應用程式包含許多類檔案,壓縮到一個 jar 檔案中,執行時用 java -jar XXX.jar 命令。避免檔案一多互相混雜不容易管理。
2. 一個 Applet 程式包含許多類檔案,壓縮到一個 jar 檔案中,執行時一次裝載,避免多次裝載提高執行效率。
3. 把類庫壓縮到 jar 檔案中,使用起來更方便。例如 java 2 的類庫都在 tools.jar 檔案中,該檔案在 jdk/lib 目錄中。 swing 類在 dt.jar 檔案中。但是需要把 tools.jar 和 dt.jar 加入到類庫路徑 CLASSPATH 中。
使用命令 C:/javacode/zcb>jar 可在 DOS 螢幕上輸出 jar.exe 的用法和選項如下:
用法: jar {ctxu}[vfm0M] [jar- 檔案 ] [manifest- 檔案 ] [-C 目錄 ] 檔名 ...
命令中的檔名可以是用空格分隔的多個檔案。選項:
-c 建立新的歸檔
-t 列出歸檔內容的列表
-x 展開歸檔中的命名的(或所有的)檔案
-u 更新已存在的歸檔
-v 生成詳細輸出到標準輸出上
-f 指定歸檔檔名
-m 包含來自指定的清單( manifest )檔案的清單( manifest )資訊
-0 只儲存方式;未用 ZIP 壓縮格式
-M 不產生所有項的清單( manifest )檔案
-i 為指定的 jar 檔案產生索引資訊
-C 改變到指定的目錄,並且包含下列檔案:
如果一個檔名是一個目錄,它將被遞迴處理。
清單( manifest )檔名和歸檔檔名都需要被指定,按 'm' 和 'f' 標誌指定的相同順序。 示例 1 :將兩個 class 檔案歸檔到一個名為 'classes.jar' 的歸檔檔案中:
jar cvf classes.jar Foo.class Bar.class
示例 2 :用一個存在的清單( manifest )檔案 'mymanifest' 將 foo/ 目錄下的所有檔案歸檔到一個名為 'classes.jar' 的歸檔檔案中:
jar cvfm classes.jar mymanifest -C foo/
示例 3 :從 classes.jar 檔案中還原檔案 Foo.class
jar xf classes.jar Foo.class
示例 4 :還原 classes.jar 檔案中的所有檔案
jar xf classes.jar
注意,用 jar xf classes.jar *.*(or *.class. xxx.* etc.) 都是錯誤的。但壓縮時可以使用萬用字元,下類命令是正確的:
jar cf classes.jar -C foo/ *.*
它把目錄 foo 中的所有檔案都壓縮到 classes.jar 中。
執行程式java.exe
執行程式java.exe解釋性地把位元組碼檔案*.class翻譯成所在機器的可執行程式碼並執行之。它的最簡單的用法是:java <類檔名> <CR>
運行當前目錄中的類檔案XXX.class,副檔名不能加。如果不是當前目錄中而是帶路徑的檔名,那麼在程式包含多個類時會發生“某某類找不到”的異常。執行程式java.exe的一般使用格式為:
java [選項] <類檔名> [命令列引數] 〈CR>
包含多個類的程式也可以把多個檔案壓縮到一個jar檔案中,那麼執行命令如下:
java -jar [選項] <JAR檔名> [命令列引數] 〈CR>
文件生成器 javadoc
參考文件生成器 javadoc.exe 的用途是從 java 源程式中提取資訊生成 html 格式的軟體參考文件。它最簡單的用法是:
javadoc FileDownload.java
執行後生成檔案 FileDownload.html 和其他相關檔案。
點選這裡觀看這個檔案的內容。
java.doc 的用法和選項列表如下。
用法: javadoc [options] [packagenames] [sourcefiles] [@files]
-overview <file> 讀取 HTML 格式的概述文件
-public 僅顯示 public 類和成員
-protected 顯示 protected/public 類和成員(預設)
-package 顯示 package/protected/public 類和成員
-private 顯示所有類和成員
-help 顯示命令列選項
-doclet <class> 通過候選 doclet 生成輸出
-docletpath <path> 指定 doclet 類檔案的查詢位置
-1.1 利用 JDK 1.1 模仿 doclet 生成輸出
-sourcepath <pathlist> 指定原始檔的查詢位置
-classpath <pathlist> 指定使用者類檔案的查詢位置
-bootclass path <pathlist> 覆蓋自舉類載入器所載入的 類檔案的位置
-extdirs <dirlist> 覆蓋已安裝的擴充套件的位置
-verbose 有關 Javadoc 所做工作的輸出資訊
-locale <name> 所用的 Locale ,例如 en_US 或 en_US_WIN
-encoding <name> 原始檔編碼名稱
-J<flag> 將 <flag> 直接傳給執行時系統
由標準 doclet 提供:
-d <directory> 輸出檔案的目標目錄
-use 建立類和包的用法頁
-version 包含 @version 段
-author 包含 @author 段
-splitindex 將索引分為每個字母對應一個檔案
-windowtitle <text> 文件的瀏覽器視窗標題
-doctitle <html-code> 包含包索引頁(首頁)的標題
-header <html-code> 包含每一頁的頁首文字
-footer <html-code> 包含每一頁的頁尾文字
-bottom <html-code> 包含每一頁的頁底文字
-link <url> 建立到 javadoc 輸出的連結(位於 <url> )
-linkoffline <url> <url2> 利用位於 <url2> 的包列表連結到位於 <url> 的文件
-group <name> <p1>:<p2>.. 將概覽頁中指定的包分組
-nodeprecated 不包含 @deprecated 資訊
-nodeprecatedlist 不生成不鼓勵使用的列表
-notree 不生成類層次
-noindex 不生成索引
-nohelp 不生成幫助連結
-nonavbar 不生成導航欄
-helpfile <file> 包含幫助連結功能連結到目標的檔案
-stylesheetfile <path> 改變所生成文件的樣式的檔案
-docencoding <name> 輸出編碼名稱
示例 下列命令生成的就是從上面的超鏈中看到的檔案。
javadoc -private -d F:/SHPS3688/webSchool/JavaTouturial -author -splitindex -windowtitle FileDownload.java 程式的參考文件 FileDownload.java 請讀者自行解釋這個命令的完整含義。
javadoc 能夠提取有 /** ... */ 括起來的註釋文字作為 HTML 文件的正文內容。因此 java 有 /** 和 /* 兩種註釋標記。值得一提的是,在 /** ... */ 中的註釋內容可以包含 HTML 標記文字, javadoc 提取 HTML 標記送到生成的文件中。用這種方法可以控制生成文件的正文的顯示格式。例如下面這一段:
/**
* 您可以插入一個 <b> 專案列表 </b> :
* <ol>
* <li> 專案一
* <li> 專案二
* <li> 專案三
* </ol>
*/
可以生成一個專案列表。注意在文件註釋中,位於一行最開頭的星號會被 javadoc 丟棄。同時丟棄的還有前導空格。 javadoc 會對所有內容進行格式化,使其與標準的文件外觀相符。不要將 <h1> 或 <hr> 這樣的標題當作嵌入 HTML 使用,因為 javadoc 會插入自己的標題,我們給出的標題會與之衝突。所有型別的註釋文件 —— 類、變數和方法 —— 都支援嵌入 HTML 。
javadoc 還會提取一些以 “@” 開頭的 “ 文件標記 ” ( Doc tags ),置於註釋行的起始處(但前導的 “*” 會被忽略)。比如您需要提取 @authod 標記,在命令列選項中需要加入 -authod 選項。下面給出各種 @ 標記和它的含義。
@see 引用其他類
類、方法和變數三種類型的註釋文件都可包含 @see 標記,它允許我們引用其他類裡的文件。對於這個標記, javadoc 會生成相應的 HTML ,將其直接連結到其他文件。格式如下:
@see 類名
@see 完整類名
@see 完整類名 # 方法名
每一格式都會在生成的文件裡自動加入一個超連結的 “See Also” 條目。注意 javadoc 不會檢查我們指定的超連結是否有效。 類文件標記
隨同嵌入 HTML 和 @see 引用,類文件還可以包括用於版本資訊以及作者姓名的標記。類文件亦可用於 “ 介面 ” 目的。
1. @version
格式如下:
@version 版本資訊
其中, “ 版本資訊 ” 代表任何適合作為版本說明的資料。若在 javadoc 命令列使用了 “-version” 標記,就會從生成的 HTML 文件裡提取出版本資訊。
2. @author
格式如下:
@author 作者資訊
其中, “ 作者資訊 ” 包括您的姓名、電子函件地址或者其他任何適宜的資料。若在 javadoc 命令列使用了 “-author” 標記,就會專門從生成的 HTML 文件裡提取出作者資訊。
可為一系列作者使用多個這樣的標記,但它們必須連續放置。全部作者資訊會一起存入最終 HTML 程式碼的單獨一個段落裡。
變數文件標記
變數文件只能包括嵌入的 HTML 以及 @see 引用。
方法文件標記 除嵌入 HTML 和 @see 引用之外,方法還允許使用針對引數、返回值以及違例的文件標記。
1. @param
格式如下:
@param 引數名 說明
其中, “ 引數名 ” 是指引數列表內的識別符號,而 “ 說明 ” 代表一些可延續到後續行內的說明文字。一旦遇到一個新文件標記,就認為前一個說明結束。可使用任意數量的說明,每個引數一個。
2. @return
格式如下:
@return 說明
其中, “ 說明 ” 是指返回值的含義。它可延續到後面的行內。
3. @exception
有關 “ 違例 ” ( Exception )的詳細情況,我們會在第 9 章講述。簡言之,它們是一些特殊的物件,若某個方法失敗,就可將它們 “ 扔出 ” 物件。呼叫一個方法時,儘管只有一個違例物件出現,但一些特殊的方法也許能產生任意數量的、不同型別的違例。所有這些違例都需要說明。所以,違例標記的格式如下:
@exception 完整類名 說明
其中, “ 完整類名 ” 明確指定了一個違例類的名字,它是在其他某個地方定義好的。而 “ 說明 ” (同樣可以延續到下面的行)告訴我們為什麼這種特殊型別的違例會在方法呼叫中出現。
4. @deprecated ( “ 不提倡使用的方法 ” 警告)
這是 Java 1.1 的新特性。該標記用於指出一些舊功能已由改進過的新功能取代。該標記的作用是建議使用者不必再使用一種特定的功能,因為未來改版時可能摒棄這一功能。若將一個方法標記為 @deprecated ,則使用該方法時會收到編譯器的警告
注意,對於類文件標記 @version 和 @authod 需要使用命令列選項才提取,而其他 @ 標記是預設提取的,而用 -nodeprecated 選項禁止提取。
Applet觀看程式appletviewer.exe
appletviewer.exe用來不凱瀏覽器就觀看小程式片。它的簡單用法是
appletviewer XXX.html
其中XXX.html是嵌入了Applet的HTML文件,副檔名不能省略。執行後會開啟一個大小等於Applet設定的寬和高的視窗,用來顯示這個Applet。appletviewer的用法的一般格式和選項如下:
appletviewer [-debug] [-J<javaflag>] [-encoding <編碼型別>] url|file ...
其中檔案必須是html檔案,不能是class檔案。javah
功能說明:C 標頭檔案和 Stub 檔案生成器;javah 從 Java 類生成 C 標頭檔案和 C 原始檔;這些檔案提供了連線膠合,使 Java 和 C 程式碼可進行互動
語法:javah [ 命令選項 ] fully-qualified-classname. . .
javah_g [ 命令選項 ] fully-qualified-classname. . .
檢視程式 javap.exe
程式 javap.exe 的功能是檢視知道類檔案中的所有宣告 —— 類名、構建器和方法名、欄位(變數)。最簡單的用法是 javap < 類檔名 > <CR>
執行後顯示類檔案中的包和類的所有宣告,但不包含方法體。不帶選項的命令不顯示用 private 修飾的宣告。 javap 命令的一般格式為: javap [ 選項 ] < 類檔名 > 〈 CR>
檔名中不能加副檔名。可能的選項及其意義如下。
-b Backward compatibility with javap in JDK 1.1
-c Disassemble the code
-classpath <pathlist> Specify where to find user class files
-extdirs <dirs> Override location of installed extensions
-help Print this usage message
-J<flag> Pass <flag> directly to the runtime system
-l Print line number and local variable tables
-public Show only public classes and members
-protected Show protected/public classes and members
-package Show package/protected/public classes and members (default)
-private Show all classes and members
-s Print internal type signatures (簽名)
-bootclasspath <pathlist> Override location of class files loaded by the bootstrap class loader
-verbose Print stack size, number of locals and args for met hods If verifying, print reasons for failure
選項 -package 是預設的,它顯示 package/protected/public 的類,不顯示 private 的,用 -private 選項可顯示所有的。
例 1 對第 15 章的例 6 使用下列命令
C:/javacode/zcb/ch15>javap FileDownload
輸出結果如下:
Compiled from FileDownload.java
public class FileDownload extends javax.swing.JFrame implements java.awt.event.A
ctionListener {
java.lang.String url;
javax.swing.JTextField tUrl;
MyPanel mp;
javax.swing.JButton bt;
public FileDownload();
public void actionPerformed(java.awt.event.ActionEvent);
static void getDown(java.lang.String);
public static void main(java.lang.String[]);
}javap FileDownload
上述命令這顯示 public 類,不顯示處在同一檔案中的非 public 類。如果要求一起檢視,可在命令列中加入多個檔名。如: javap FileDownload MyPanel <CR>
jdb
jdb 是一個簡單的命令列的錯誤除錯程式,用於Java class檔案
用法:jdb <options> <class> <arguments>
orbd
orbd 用在 CORBA 環境中,使客戶端能透明地定位和呼叫伺服器的永久物件
用法:orbd <選項>
tnameserv
tnameserv 啟動 Java IDL 名稱伺服器
servertool
servertool 為應用程式註冊,取消註冊, 啟動和停止伺服器提供了方便的介面
idlj
idlj 從已給的IDL檔案中生成Java的聯編檔案
policytool
policytool 圖形化的建立和管理策略(policy)檔案
javah.exe
用法:javah [options] <classes> 其中 [options] 包括: -help 列印該幫助資訊-classpath <path> 類的載入路徑
-bootclasspath <path> 自舉類的載入路徑
-d <dir> 輸出目錄
-o <file> 輸出檔案(僅能使用 -d 或 -o 之一)
-jni 生成 JNI 風格的標頭檔案(預設)
-old 生成 JDK1.0 風格的標頭檔案
-stubs 生成 stubs 檔案
-version 列印版本資訊
-verbose 輸出有關本命令所做工作的資訊
-force 始終寫輸出檔案
指定 <classes> 時必須使用全名(例如 java.lang.Object)
idlj.exe com.sun.tools.corba.se.idl.InvalidArgument: No IDL file was specified. Compiler Usage: java com.sun.tools.corba.se.idl.toJavaPortable.Compile [options] <idl file> where <idl file> is the name of a file containing IDL definitions, and
[options] is any combination of the options listed below. The options
are optional and may appear in any order; <idl file> is required and
must appear last. Options:
-d <symbol> This is equivalent to the following line in an
IDL #define <symbol>
-emitAll Emit all types, including those found in #included files.
-f<side> Define what bindings to emit. <side> is one of client,
server, all, serverTIE, allTIE. serverTIE and allTIE
cause delegate model skeletons to be emitted. If this
flag is not used, -fclient is assumed.
-i <include path> By default, the current directory is scanned for
included files. This option adds another directory.
-keep If a file to be generated already exists, do not
overwrite it. By default it is overwritten.
-noWarn Suppress warnings.
-oldImplBase Generate skeletons compatible with old (pre-1.4) JDK ORBs.
-pkgPrefix <t> <prefix> When the type or module name <t> is encountered at
file scope, begin the Java package name for all files
generated for <t> with <prefix>.
-pkgTranslate <t> <pkg> When the type or module name <t> in encountered, replace
it with <pkg> in the generated java package. Note that
pkgPrefix changes are made first. <t> must match the
full package name exactly. Also, <t> must not be
org, org.omg, or any subpackage of org.omg.
-skeletonName <xxx%yyy> Name the skeleton according to the pattern.
The defaults are:
%POA for the POA base class (-fserver or -fall)
_%ImplBase for the oldImplBase base class
(-oldImplBase and (-fserver or -fall)).
-td <dir> use <dir> for the output directory instead of
the current directory.
-tieName <xxx%yyy> Name the tie according to the pattern. The defaults are:
%POATie for the POA tie (-fserverTie or -fallTie)
%_Tie for the oldImplBase tie
(-oldImplBase and (-fserverTie or -fallTie)).
-v, -verbose Verbose mode.
-version Display the version number and quit. 歡迎使用 Java IDL 伺服器工具
請在提示處輸入命令 servertool > help 可用命令:
------------------- register - 註冊一個可啟用的伺服器
unregister - 取消伺服器註冊
getserverid - 返回應用程式名稱的伺服器識別符號
list - 列舉所有已註冊伺服器
listappnames - 列舉當前定義的應用程式名稱
listactive - 列舉當前活動的伺服器
locate - 將已註冊伺服器定位在特定型別的埠
locateperorb - 為已註冊伺服器的特定物件請求代理程式定位埠。
orblist - 物件請求代理程式 (orb) 名稱及其對映列表
shutdown - 關閉一個已註冊伺服器
startup - 啟動一個已註冊伺服器
help - 取得幫助
quit - 退出此工具 servertool > quit 其中,<選項> 包括:
-port 啟動 ORBD 的啟用埠,預設值為 1049 (可選)
-defaultdb ORBD 檔案的目錄,預設值為 "./orb.db" (可選)
-serverid ORBD 的伺服器識別符號,預設值為 1 (可選)
-ORBInitialPort 初始埠(必需)
-ORBInitialHost 初始主機名稱(必需) where options include:
-help print out this message and exit
-sourcepath <directories separated by ";">
directories in which to look for source files
-attach <address>
attach to a running VM at the specified address using standard connector
-listen <address>
wait for a running VM to connect at the specified address using standard connector
-listenany
wait for a running VM to connect at any available address using standard connector
-launch
launch VM immediately instead of waiting for 'run' command
-connect <connector-name>:<name1>=<value1>,...
connect to target VM using named connector with listed argument values
-dbgtrace [flags] print info for debugging jdb
-tclient run the application in the Hotspot(tm) Performance Engine (Client)
-tserver run the application in the Hotspot(tm) Performance Engine (Server) options forwarded to debuggee process:
-v -verbose[:class|gc|jni]
turn on verbose mode
-D<name>=<value> set a system property
-classpath <directories separated by ";">
list directories in which to look for classes
-X<option> non-standard target VM option <class> is the name of the class to begin debugging
<arguments> are the arguments passed to the main() method of <class> For command help type 'help' at jdb prompt java.exe 可用的選項及其意義如下:
-cp -classpath <directories and zip/jar files separated by ;> set search path for application classes and resources
-D<name>=<value> set a system property
-verbose[:class|gc|jni] enable verbose output
-version print product version and exit
-showversion print product version and continue
-? -help print this help message
-X