0. 名詞解釋
SDK: Softeare Development Kit,用於開發JavaEE,包括JDK。
JDK: Java Development Kit,java開發工具包,包括Java編譯器(javac)、jre(java運行時環境)、java 類庫。
JRE: Java Runtime Environment, Java運行時環境,包括JVM和其他環境支持(類加載器、字節碼校驗器、大量的基礎類庫)。
JVM: Java Virtual Machine,Java虛擬機。
如果開發,下載JDK即可,包括了JRE,不需要另外下載。
如果僅運行,下載JRE即可,包括了JVM。
JVM不提供單獨下載。
1. JDK目錄結構
bin: 該路徑下存放了JDK的各種命令,常用的javac、java等。
include: 一些平台特定的頭文件,支持Java本地接口和Java虛擬機調試程序接口的本地編程技術。
jre: 運行java程序所必須的JRE環境。
lib:JDK工具命令的實際執行程序,bin路徑下的絕大部分命令都是包裝了tools.jar如(lib->tools.jar->sun\tools\javac\Main.class javac命令的實際執行類;bin下的javac.exe命令實際上僅僅包裝了這個Java類)。
javafx-src.zip:Java FX所有核心類庫的源代碼,JavaFX它是一種聲明式、靜態類型編程語言。(jdk1.8下新加的)。
src.zip:Java所有核心類庫的源代碼。
COPYRIGHT和LICENSE為版權和簽證的說明性文檔。
2. bin目錄
1. 監控
jps:JVM Process Status Tool顯示指定系統內所有正在運行的HotSpot虛擬機進程,包括進程ID,進程啟動的路徑及啟動參數等等。
jstat:JVM Statistics Monitoring Tool 用於監視虛擬機運行時狀態信息的命令,它可以顯示出虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據。
類的加載及卸載情況
查看新生代、老生代及持久代的容量及使用情況
查看新生代、老生代及持久代的垃圾收集情況,包括垃圾回收的次數及垃圾回收所占用的時間
查看新生代中Eden區及Survior區中容量及分配情況等
jinfo:Configuration Info for java 實時查看和調整虛擬機運行參數。
jmap:Memory Map for Java 生產虛擬機的內存轉儲快照(heapdump文件)
jhat:JVM Heap Dump Browaser ,用於離線分析heapdump文件,他會建立一個HTTP/HTML服務器,讓用戶可以在瀏覽器上查看分析的結果
jstack:Stack Trace for java 顯示虛擬機的線程快照
jcmd:一個多功能的工具,可以用它來導出堆、查看Java進程、導出線程信息、執行GC、還可以進行采樣分析(jmc 工具的飛行記錄器)。
jconsole:一個java GUI監視工具,用來監控VM,並可監控遠程的VM。
jstatd:基於RMI(Remove Method Invocation)的服務程序,它用於監控基於HotSpot的JVM中資源的創建及銷毀,並且提供了一個遠程接口允許遠程的監控工具連接到本地的JVM執行命令。
2. 常用
appletviewel(小程序瀏覽器):一種執行HTML文件上的Java小程序類的Java瀏覽器;
javadoc:根據Java源代碼及其說明語句生成的HTML文檔;
jdb:Java調試器,可以逐行地執行程序、設置斷點和檢查變量;
javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件;
javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義;
javac:Java編譯器,將Java源代碼換成字節代;
java:Java解釋器,直接從類文件執行Java應用程序代碼;
jar:多用途的存檔及壓縮工具,是個java應用程序,可將多個文件合並為單個JAR歸檔文件。
3. 遠程調用
rmic:為遠程調用編譯生成遠程調用時所需的文件
rmid:用於啟動激活系統守護進程,以便遠程對象可以在JVM中注冊和激活
rmiregistry:啟動一個遠程對象注冊表中指定的端口
4. Web Service
wsgen:是一個命令行功能用來生成合適的JAX-WS。它讀取WebService的終端類文件,同時生成所有用於WebService發布的源代碼文件和經過編譯過的二進制類文 件。它還隨意生成WSDL和符合規范的HelloServer類WebService。wsgen從資源文件生成一個完整的操作列表是合法的。
wsimport:這個工具依據wsdl文件生成相應的類文件,然后用這些類文件,就可以像調用本地的類一樣調用WebService提供的方法了
5. 壓縮
pack200:對jar文件進行高效的壓縮
unpack200:對pack200進行壓縮的jar文件進行解壓
6. 其他
idlj: 對idl文件進行解析,生成所需的java文件
jrunscript:一個 JS解釋器
keytool:是 安全鑰匙與證書的管理工具,它管理一個存儲了私有鑰匙和驗證相應公共鑰匙的與它們相關聯的X.509 證書鏈的keystore
native2ascii:用於 轉換字符或者文件的編碼格式,將含有不是Unicode或Latinl字符的的文件轉換為Unicode編碼字符的文件。
orbd:用於實現 corba接口(分布式應用)
packager: 將Jar文件包裝成其他格式的文件
policytool:java中的 策略管理
serialver:用於 返回一個類的serialverUID
servertools:為程序員提供了一個 命令行接口,用於注冊,取消注冊,啟動,關閉一個服務