隨筆-4  評論-4  文章-0  trackbacks-0

          我們下載 Java 的安裝程序往電腦里一裝,把 path 環境變量設置一下之后,很少有人會去看一下安裝目錄下到底有些什么目錄或文件。在 Sun Java 上的一篇技術文檔就說明了 Java 安裝目錄下到底有些什么東西,并且大致地介紹了一下這些目錄或文件是干什么用的。

          譯自:JDK and JRE File Structure (Windows)

          本文簡要地介紹一下 JDK 的目錄和這些目錄所包含的文件。需要注意的是,JRE 的文件結構與 JDK 中 jre 目錄的結構是相同的。

          用于開發的文件和目錄
          Development Files and Directories

          這一節先來看一下在 Java 開發中最為重要的文件和必需的目錄。需要注意的,諸如 demos、Java 源代碼和 C 語言頭文件這些目錄并不是必需的。關于這些目錄結構會在 其他的文件和目錄 一節中描述。

                      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

          假設 JDK 安裝在了 c:\jdk1.6.0 目錄中,下面是一些重要的目錄:

          c:\jdk1.6.0
          JDK 安裝的根目錄。包括 COPYRIGHT、LICENSE 和 README 文件。還包括了 src.zip,這是 Java 平臺源代碼的壓縮包。
          c:\jdk1.6.0\bin
          Java 開發工具集(Java Development Kit)中用于開發工具的可執行文件。系統的 PATH 環境變量應該包含這個目錄項。關于這些工具,在 JDK 工具 (JDK Tools)中可以了解更多的信息。
          c:\jdk1.6.0\lib
          開發工具所使用的文件。其中的 tools.jar 包含了在 JDK 中工具和實用工具支持的非核心類庫。還有 dt.jar,這是 BeanInfo 文件設計時(DesignTime)的壓縮包,用于告知交互式開發環境(interactive development environemts, IDE's)如何展示 Java 組件,并且如何讓開發者自定義這些用于應用程序中。
          c:\jdk1.6.0\jre
          JDK 開發工具所使用的 Java 運行環境的根目錄。這個運行環境是一個 Java 平臺的實現。這個目錄使用 java.home 系統屬性來表示。
          c:\jdk1.6.0\jre\bin
          Java 平臺所使用工具和類庫的可執行文件和 DLL 文件。可執行文件與 c:\jdk1.6.0\bin 中的文件是相同的。這個 Java 載入工具服務作為一個應用程序加載器(用于替換在 JDK 1.1 版本發布舊的 jre 工具)。這個目錄沒有必要放在系統的 PATH 環境變量中。
          c:\jdk1.6.0\jre\bin\client
          包括用于 Java HotSpotTM Client 虛擬機的 DLL 文件。
          c:\jdk1.6.0\jre\bin\server
          包括用于 Java HotSpotTM Server 虛擬機的 DLL 文件。
          c:\jdk1.6.0\jre\lib
          Java 運行環境所使用的核心類庫、屬性設置和資源文件。例如:
          • rt.jar —— 引導類(運行時(RunTime)的類,包含了 Java 平臺的核心 API)。
          • charsets.jar —— 字符轉換類。
          除了 ext 子目錄(下面有描述)外,還有若干個其他的資源目錄沒有描述。
          c:\jdk1.6.0\jre\lib\ext
          用于 擴展 (Extensions)Java 平臺默認的安裝目錄。
          • localedata.jar —— 用于 java.text 和 java.util 包的區域(locale)數據。
          c:\jdk1.6.0\jre\lib\security
          包含了用于安全管理的文件。其中包括安全策略(java.policy)和安全屬性(java.security)文件。
          c:\jdk1.6.0\jre\lib\applet
          用于 Applet 支持類的 jar 文件,可以放在 lib/applet 目錄中。Applet 類通過 Applet 類加載器從本地文件系統中預加載,這樣為減小大型 Applet 的啟動時間提供了一些方式,好像從網上已經下載完成了一樣。
          c:\jdk1.6.0\jre\lib\fonts
          包括平臺使用的 TrueType 字體文件。
          其他的文件和目錄
          Additional Files and Directories

          這一節來看一下 demos、Java 源代碼和 C 語言頭文件的目錄結構。

                                   jdk1.6.0
                             _________|__________
                            |         |          |
                          demo     include    src.zip
                       _____|____ __________ __________
                      |          |          |          |
                   applets      jfc        jpda      plugin

          上面所展示額外的目錄有:

          c:\jdk1.6.0\src.zip
          包含 Java 平臺源代碼的壓縮包。
          c:\jdk1.6.0\demo
          附有源代碼的示例程序,用于展示如何在 Java 平臺上編制程序。
          c:\jdk1.6.0\demo\applets
          能在 Web 頁面上使用的 Applet。
          c:\jdk1.6.0\demo\jfc
          使用 Java 2DTM 和 JFC/Swing 功能的示例程序。
          c:\jdk1.6.0\demo\jpda
          使用 Java 平臺調試架構 (Java Platform Debugging Architecture)的示例程序。包括用于 javadd 和 jdb 實用工具的源代碼。
          c:\jdk1.6.0\demo\plugin
          包含使用 Java 插件產品的演示。
          c:\jdk1.6.0\include
          C 語言的頭文件,用于支持 Java 本地方法接口 (Java Native Interface)Java 虛擬機調試器接口 (Java Virtual Machine Debugger Interface)的本地代碼程序設計
          譯后記

          Sun Java 上的這篇文章僅僅對 Java 安裝目錄中主要的目錄和文件作了概要性的介紹,并沒有深入也沒有將安裝目錄中所有的都介紹完整。如果想了解其他目錄的結構以及用途,還是需要查閱其他相關文檔說明。這里補充說明一下其他文件和目錄:

          c:\jdk1.6.0\jre\lib\fontconfig.properties.src
          這個文件是用于配置邏輯字體的,在 AWT/Swing 程序中可能會用到。如果用 NetBeans 會發現 NetBeans 中編輯器的字體很難看,我們就可以通過這個文件進行修改,然后再將這個文件改名為 fontconfig.properties。
          c:\jdk1.6.0\jre\lib\logging.properties
          這個文件是 JDK 1.4 后增加的,用于配置 Java 提供的日志記錄器的格式,相當于 log4j 的 log4j.properties 文件。更多關于 Java Logging 請點擊這里
          c:\jdk1.6.0\jre\lib\i386\jvm.cfg
          64 位平臺是放在 ia64 目錄下的,而非 i386 目錄下。這個文件是 JVM 的配置文件,指定 JVM 加載哪個版本的 jvm.dll 文件。我們機器中默認安裝是啟動 client 的 JVM 的,如果想要啟動 server 的 JVM,只要把 jvm.cfg 文件中的 -server KNOWN 放到 -client KNOWN 前面去就可以了。
          c:\jdk1.6.0\jre\lib\zi
          這個目錄中存放著很重要的時區參數,Java 中所有有關日期、時間、時區的操作都跟這個目錄下的文件有關。比如說:時區的夏令時訖止時間、與標準時間的時間差、版本等等信息。比如說,我們電腦中的時區名為 Asia/Shanghai 那這個時區名對應的文件為 c:\jdk1.6.0\jre\lib\zi\Asia\Shanghai,這是一個二進制文件,是由sun.util.calendar.ZoneInfoFile類負責解析的(這個類未被歸檔,所以沒有 API DOC,需要去 OpenJDK下載 JDK 的源代碼才能看到源碼和源碼中的注釋)。
          c:\jdk1.6.0\jre\lib\cmm
          這個目錄中存放的是色彩管理配置文件,這些文件是用于 Java 2D API 執行色彩對應轉換的。

          更多的說明可以參考 JDK 安裝目錄下的 README.html 文件,或者在線查看README

          posted on 2009-07-19 16:22 菜菜寶寶 閱讀(3071) 評論(4)  編輯  收藏 所屬分類: Java基礎

          評論:
          # re: JDK 和 JRE 目錄的文件結構 2009-07-19 16:58 | tenderuser
          挺詳細的 , 有時間來看看 呵呵   回復  更多評論
            
          # re: JDK 和 JRE 目錄的文件結構 2009-07-19 17:08 | yami
          話說很多東西往往在這些細節當中。。。只是。。。
          寫blog能不能加點自己的看法啊,不要光翻譯。。。  回復  更多評論
            
          # re: JDK 和 JRE 目錄的文件結構 2009-07-23 00:24 | 菜菜寶寶
          @yami

          您好啊,但是這篇文章僅僅是介紹目錄結構的,我感覺也沒啥個人意見好發表的啊,呵呵。僅在最后部分補充了些遺漏的部分,但這還不是全部,JRE 的目錄下還有其他的目錄我暫時還不知道是干什么用的。  回復  更多評論
            
          # re: JDK 和 JRE 目錄的文件結構 2013-11-28 10:44 | hipilee
          c:\jdk1.6.0\lib這個目錄下的類,到底是干什么用的還是沒能很好的理解!  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 柘荣县| 改则县| 山西省| 鄂温| 平阳县| 新丰县| 乡城县| 河池市| 宁都县| 平乐县| 红安县| 杨浦区| 朝阳区| 阿瓦提县| 衡东县| 云霄县| 黔西| 西峡县| 仁寿县| 高密市| 盐津县| 绥宁县| 普定县| 临西县| 遂平县| 永登县| 南开区| 客服| 邢台市| 宽甸| 迭部县| 昆明市| 海口市| 宁乡县| 青岛市| 北安市| 台中市| 桃园县| 恩平市| 大连市| 梁河县|