1. 程式人生 > >JDK 6 目錄結構介紹以及JDK中的工具研究

JDK 6 目錄結構介紹以及JDK中的工具研究

要想深入瞭解Java必須對JDK的組成, 本文對JDK6裡的目錄做了基本的介紹,主要還是講解
了下JDK裡的各種可執行程式或工具的用途
Java(TM) 有兩個平臺 JRE 執行平臺,包括Java虛擬機器,執行類庫,java應用程式裝載器。
JRE不是開發環境,所以不包括編譯器,偵錯程式,有需要這些請安裝JDK(TM)
    
//說明 :環境為Windows XP SP3 下 的JDK為1.60版本 JAVA_HOME = C:\jdk1.6.0

//---------------------------開發檔案和目錄------------------------------------------------
               jdk1.6.0
     ___________|____________________
    |           |                    |
    bin         lib                  jre
    |           |          __________|_____________________
java.exe    tools.jar     |                                |        
javac.exe   dt.jar       bin                              lib                
javap.exe            _____|____ __________         ________|_______ ________ ________        
javah.exe           |          |          |       |        |       |        |        |
javadoc.exe     java.exe    client      server  rt.jar    ext  security  applet    fonts
                java.dll       |          |   charsets.jar |                  
                awt.dll     jvm.dll    jvm.dll        localedata.jar

c:\jdk1.6.0 -- JDK的根目錄,包含一些軟體版權,宣告,和自述檔案,
         同時包含歸檔了的Java平臺原始碼包src.zip         
c:\jdk1.6.0\bin -- JDK包含的一些開發工具執行檔案
c:\jdk1.6.0\jre\bin\client 
        包含 Java HotSpotTM Client Virtual Machine 要用的 DLL 檔案 
c:\jdk1.6.0\jre\bin\server 
        包含 Java HotSpotTM Server Virtual Machine 要用的 DLL 檔案  
c:\jdk1.6.0\lib  -- Java開發工具要用的一些庫檔案,有包含了支援JDK工具的非核心類庫tool.jar,
        dt.jar 歸檔的 BeanInfo 檔案 
        用於告訴IDE這樣顯示java元件怎樣讓開發者在自己的應用程式中使用者化它們
c:\jdk1.6.0\jre  -- JDK使用的Java執行環境(JRE)的根目錄,這個執行環境實現了Java平臺         
c:\jdk1.6.0\jre\bin -- Java平臺所要用的工具和庫的可執行檔案
        這些可執行檔案和 /jdk1.6.0/bin相同的。
         //Java 啟動器工具充當了應用程式啟動器(覆蓋了1.1版本的JDK推出的舊版本JRE工具)
                        這個路徑不需要設定 PATH 環境變數
c:\jdk1.6.0\jre\bin\client  -- 包含Java Hotspot(Java效能引擎) 客戶虛擬機器要用的DLL檔案
c:\jdk1.6.0\jre\bin\server -- 包含Java Hotspot(Java效能引擎) 伺服器虛擬機器要用的DLL檔案
c:\jdk1.6.0\jre\lib -- JRE要用的程式碼庫,屬性設定,資原始檔。
        例如rt.jar Java 引導類庫(java 核心APIRunTime類)
        charsets.jar 字元轉換類庫
c:\jdk1.6.0\jre\lib\ext -- 預設的Java平臺擴充套件安裝環境
        包含localedata.jar 是 ava.text 和 java.util包要用到的地區資料 
c:\jdk1.6.0\jre\lib\security -- 包含安全管理檔案,有安全規則(java.policy) 
        和安全屬性檔案(java.security)
c:\jdk1.6.0\jre\lib\applet -- Java applets 要的Jar包,可以放到lib/applet/目錄,
        這樣可以節省 applet 類裝載器從本地檔案系統裝載 大的applets 所需的applet類時間
         減少從網上下載具有相同的保護的時間。
c:\jdk1.6.0\jre\lib\fonts 包含平臺所需的TrueType字型檔案

//不知道大家的版本有沒有這個目錄
-db目錄    純Java開發的資料可 Derby,是一個開源的100%Java開發的關係資料庫
                    db
            _________|__________
           |         |          |
          Demo    Frameworks   lib 
  -Dmeo 是Java Derby的例子程式
  -Frameworks 提供資料庫執行時需要的用到的shell指令碼,包括Windows下的bat和Unix下的Ksh
        包含 Java DB 的類庫和 Sun Microsystems 的 Apache Derby 資料庫技術的分發
        有關 Java DB 的資訊,請參見 http://developers.sun.com/prodtech/javadb/。 
        有關 Derby 的文件,請參見:http://db.apache.org/derby/manuals/index.html 

//----------------------------附加的檔案和目錄--------------------------------------------
                        jdk1.6.0
                 ___________|__________ ___________
                |           |          |           |
              demo      include     src.zip     sample 
             ___|___ _________ __________
            |       |         |          |
          applets  jfc       jpda      plugin
       
c:\jdk1.6.0\src.zip -- 歸檔的Java原始碼
c:\jdk1.6.0\demo -- Java程式設計的例子
c:\jdk1.6.0\demo\applets -- 網頁Applets的例子
c:\jdk1.6.0\demo\jfc -- Java 2D(TM)和JFC(基礎圖形類集合)\Swing 功能的例子
c:\jdk1.6.0\demo\jpda -- 用Java平臺Debugging的體系構架,包還有javadt 的 jdb 原始碼,
        具體內容可看jpda目錄下的doc\index.html
c:\jdk1.6.0\demo\jvmti -- java虛擬機器tool interface (工具介面) 例項程式碼
c:\jdk1.6.0\demo\plugin -- java 外掛產品案例
c:\jdk1.6.0\demo\nbproject -- JDK的 netbean工程示例
c:\jdk1.6.0\demo\management -- 一些這樣檢視死鎖執行緒(FullThreadDump ),
        收集垃圾(VerboseGC)記憶體cpu使用狀況了程式碼例子。詳細可檢視目錄下的index.html
c:\jdk1.6.0\sample -- 某些 Java API 的程式設計樣例(帶原始碼)。
//有興趣的可看看上面這些程式碼,很有用
c:\jdk1.6.0\include -- C 語言標頭檔案 支援 用Java本地介面和Java虛擬機器介面 來本機程式碼程式設計 

//-----------------------------------基本工具--------------------------------------------
這些工具是JDK的基礎,用這些工具來編寫應用程式。
javac.exe -- Java語言編譯器 
java.exe -- Java應用程式啟動器,JDK 1.6版裡同時用於開發和部署,
            舊的部署啟動器,jre,不在提供
javadoc.exe -- Java API 文件生成器
apt.exe -- java 註釋處理器
appletviewer.exe -- java applet 小程式檢視器  
jar.exe -- java檔案壓縮打包工具
jdb.exe -- Java 偵錯程式.
javah.exe -- C 標頭檔案和stub生成器,用於寫本地化方法,例如生產JNI樣式的標頭檔案
javap.exe -- class檔案 反編譯工具 
extcheck.exe -- 用於檢測jar包中的問題  

//---------------------------------安全工具 -------------------------------------------

這些工具用於設定系統的安全規則和生產可以工作在遠端的安全規則下的應用程式
keytool.exe -- 管理金鑰庫和證書.
jarsigner.exe -- 生產和校驗JAR簽名
policytool.exe -- 有使用者介面的規則管理工具  
kinit.exe.exe -- 用於獲得和快取網路認證協議Kerberos 票證的授予票證
klist.exe.exe --  憑據快取記憶體和金鑰表中的 Kerberos 顯示條目 
ktab.exe.exe-- 金鑰和證書管理工具 

//--------------------------------Java國際化工具---------------------------------------

這些工具可以幫助你建立可本地化的應用程式
native2ascii -- 見文字轉化為 Unicode Latin-1。//這個工具很有意思 ,大家可以看看這裡
//http://java.sun.com/javase/6/docs/technotes/tools/windows/native2ascii.html  

//--------------------------------遠端方法呼叫工具-------------------------------------

這些工具可以幫助建立可以和web和網路互動的應用程式
rmic.exe -- 生成遠端物件的stubs and skeletons(存根和框架)
rmid.exe -- Java 遠端方法呼叫(RMI:Remote Method Invocation) 活化系統守護程序
rmiregistry.exe -- Java 遠端物件登錄檔
serialver.exe -- 返回類的 serialVersionUID.  

//------------------------------Java IDL and RMI-IIOP 工具-----------------------------

這些工具用於建立使用OMG-Standard IDL 和 CORBA/IIOP 的應用程式
tnameserv.exe -- Provides access to the naming service. 
idlj.exe -- 生產對映到OMG IDL介面可以使Java應用程式使用CORBA的.java檔案
orbd.exe -- 為客戶可以在CORBA環境下透明的定位和呼叫伺服器的穩定的物件提供支援
servertool.exe -- 為應用程式提供易於使用的介面用於註冊,登出,啟動,關閉伺服器

//-------------------------------Java 部署工具------------------------------------------
pack200.exe -- 使用java gzip壓縮工具將JAR檔案轉換為壓縮的pack200檔案,
        生產打包檔案是高度壓縮的JAR包,可以直接部署,減少下載時間
unpack200.exe -- 解包pack200檔案為JARs 

//-------------------------------Java 外掛工具------------------------------------------
htmlconverter.exe -- Java Plug-in HTML轉換器 htmlconverter -gui 可以啟動圖形介面

//-------------------------------Java web 啟動工具--------------------------------------
javaws.exe -- Java web 啟動命令列工具

//-----------------------Java 故障檢修,程式概要分析,監視和管理工具--------------------
jvisualvm.exe -- 一個圖形化的Java虛擬機器,不說了 大家研究一下就發現太酷了
        // 啊這是想了解JVM的人的神器
        //http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html
jconsole.exe -- java監視臺和管理控制檯,圖形介面的功能太強大了,
        執行一下就知道 ,不想多說,看了就知道
 
//------------------------------Java web 服務工具----------------------------------
schemagen.exe  -- Java構架的XML Schema生成器
wsgen.exe  -- 生成 JAX-WS
wsimport.exe -- 生成 JAX-WS
xjc.exe -- 繫結編譯器 

//------------------------------監視工具-------------------------------------------

監視Java虛擬機器的效能,不支援Windows 98 和Windows ME 平臺
jps.exe -- JVM Process Status 程序狀態工具。列出目標系統的HotSpot JJVM
jstat.exe -- 按照命令列的具體要求記錄和收集一個JVM的效能資料
jstatd.exe -- JVM jstat 的守護程序

//-----------------------------故障檢測和修理工具-----------------------------------
jinfo.exe -- 配置或列印某個Java程序VM flag
jhat.exe -- 堆儲存檢視器
jmap.exe  -- Java記憶體圖
jsadebugd.exe -- Java 的 Serviceability Agent Debug的守護程序
jstack.exe -- Java堆疊跟蹤

//----------------------------Java指令碼工具-----------------------------------------
jrunscript.exe -- 執行指令碼

//工具都在JAVA_HOME\bin目錄下,絕大部分工具都有-help命令列引數來提供幫助