`
xiexd
  • 浏览: 248718 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JDK 和 JRE 目录的文件结构

    博客分类:
  • JAVA
阅读更多

我 们下载 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

分享到:
评论

相关推荐

    java1.8jdk/jre.rar

    Java 1.8 JDK/JRE 是Java开发工具包和Java运行环境的组合,对于任何Java开发者来说都是必不可少的基础。在本压缩包中,你将找到用于编写、编译和运行Java应用程序的所有必要组件。让我们深入了解一下这两个核心组件...

    jdk-6u26-windows-i586安装后jdk中jre文件

    在给定的标题"jdk-6u26-windows-i586安装后jdk中jre文件"中,我们讨论的是JDK的第6个更新版本(Update 26),专为32位Windows操作系统设计。 JRE,全称为Java Runtime Environment,是Java应用程序的运行时环境。它...

    jdk-7u10-windows-i586安装后jdk中jre文件

    了解其内部结构和作用,对于开发者调试问题、优化性能和理解Java应用程序的运行机制至关重要。通过不断更新和优化,JDK和JRE确保了Java平台的稳定性和兼容性,为全球开发者提供了强大的工具和平台支持。

    jdk1.8.0-191.tar.gz 内部包含jdk和jre 解压缩后可以直接使用

    解压这个文件后,用户通常会得到一个包含bin、include、jre、lib等目录的结构,这些目录包含了Java开发和运行所需的各类文件,如Java编译器(javac)、Java解释器(java)、Java文档生成器(javadoc)等。...

    jdk8,64位安装后的jre文件

    在安装JDK8后,JRE文件通常位于安装目录下的`jre`子目录。这个子目录包含了上述所有组件,使得系统可以在没有完整JDK的情况下运行Java应用程序。对于开发者来说,了解JRE的结构和功能,有助于优化程序性能和解决运行...

    zhuang_jdk_jre_jse7.7z

    对于"jdk-7u80-windows-x64.exe"和"jre-7u80-windows-x64.exe"这两个文件,它们分别是Windows 64位系统的JDK和JRE安装程序。安装过程中,通常会选择默认路径,或者根据个人需求自定义安装位置。安装完成后,需配置...

    大数据必学Java基础(九):JDK,JRE,JVM的区别

    1. JDK(Java Development Kit):Java开发工具包,是Java开发人员必备的软件,包含了编译器(javac)、JRE、调试器、文档生成工具、打包工具等。它提供了编写、编译、测试和部署Java应用程序所需的所有工具。 2. ...

    JDK下提取jre-19.0.1

    2. **理解JDK结构**:安装完成后,JDK会包含一个名为`jre`的目录,这个目录就是我们要提取的目标。在Windows系统中,它通常位于`Program Files\Java\jdk版本号\jre`;在Linux或macOS系统中,它可能位于`/usr/lib/jvm...

    JDK,JRE,JVM区别与联系.pdf

    Java开发中的JDK、JRE和JVM是三个至关重要的概念,它们构成了Java技术的基础框架。下面将详细阐述这三个术语的区别与联系。 首先,JDK(Java Development Kit)是Java开发工具包,它是整个Java开发的核心。JDK包含...

    jdk-17windows版本

    解压这个压缩包后,你会得到一个包含多个子目录和文件的结构,这些文件是Java开发和运行的基础。 安装步骤如下: 1. **解压文件**:将"jdk-17.0.9"压缩包解压到你希望的安装路径,例如"C:\Program Files\Java"。 ...

    JDK、JRE、JVM关系结构图.png

    学生做的,请见谅

    玩转Linux服务器搭建(包括jdk+jre+mysql+虚拟机的克隆及虚拟机上网步骤)

    【Linux简介】 Linux是一种自由和开放源代码的类UNIX操作系统内核,由芬兰的Linus ...通过学习这些知识,你可以有效地管理和维护Linux服务器环境,为后续的JDK、JRE、MySQL的安装以及电商项目部署打下坚实的基础。

    jdk7x86安装后jre7

    在目录`C:\Program Files (x86)\Java\jre7`下,你可以找到JRE7的所有组件,包括`bin`目录下的可执行文件,`lib`目录中的类库,以及`conf`和`legal`等其他重要子目录。 3. **x86架构**: x86架构指的是32位处理器...

    免安装版JRE - 官方原版JDK_8u192 exe安装程序提取

    JDK(Java Development Kit)是Java开发工具集,除了包含JRE之外,还提供了编译器、调试器、文档生成工具等开发者所需的全套工具,用于编写、测试和部署Java应用程序。在本案例中,我们讨论的是从官方原版JDK_8u192...

    jdk6x86安装后jre6

    Java开发工具包(JDK)是Java编程语言的核心组件,它包含了编译器、调试器、文档生成工具以及Java运行...尽管JDK 6已经过时,不再接受安全更新,但许多老旧的系统可能仍然依赖它,因此理解其结构和功能仍然是有价值的。

    JDK与JRE的关系

    Java Development Kit (JDK) 和 Java Runtime Environment (JRE) 是Java编程语言中两个至关重要的组件,它们之间的关系对于理解Java的生态系统至关重要。 **JDK**,全称为Java开发工具包,是Java程序员进行开发工作...

    jdk1.8工具、windows的jdk版本、java开发工具、jre、jdk

    JDK1.8是Oracle公司发布的一个重要版本,它包含了Java运行环境(JRE)以及一系列开发工具,如Java编译器(javac)、Java文档生成器(javadoc)和Java调试器(jdb)等。 JDK在Windows平台上的安装通常是通过可执行...

    中文版JDK帮助文档

    在这里,中文版的JDK帮助文档以CHM格式存在,用户可以像使用传统帮助文件一样,通过内置的搜索和导航功能来查找所需的信息。 **标签:“JDK”** 指的是Java Development Kit,它是学习和开发Java应用程序的基础。...

Global site tag (gtag.js) - Google Analytics