2008年10月26日星期日

JDK 和 JRE 文件结构

全文译自: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 Tools(JDK 工具)中可以了解更多的信息。
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 Platform Debugging Architecture(Java 平台调试架构)的示例程序。包括用于 javadd 和 jdb 实用工具的源代码。
c:\jdk1.6.0\demo\plugin
包含使用 Java 插件产品的演示。
c:\jdk1.6.0\include
C 语言的头文件,用于支持 Java Native Interface(Java 本地方法接口)Java Virtual Machine Debugger Interface(Java 虚拟机调试器接口)的本地代码程序设计

没有评论: