`
xiexd
  • 浏览: 250385 次
  • 性别: 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

分享到:
评论

相关推荐

    Kotlin-记事本项目代码(android+kotlin)

    Kotlin-记事本项目代码(android+kotlin)

    识别车牌的一个小demo.zip

    车牌识别

    园区(特色小镇)智慧化解决方案PPT(53页).pptx

    在当今数字化浪潮中,园区智慧化建设正成为推动区域经济发展和产业转型升级的关键力量。这份园区智慧化解决方案全面展示了如何通过集成大数据、云计算、物联网(IoT)、人工智能(AI)、地理信息系统(GIS)和建筑信息模型(BIM)等前沿技术,为传统产业园区插上数字的翅膀,打造“数字创新”产业园区。 数字技术赋能,重塑园区生态 传统产业园区往往面临运营效率低下、管理粗放、资源利用率不高等问题。而通过智慧化改造,园区可以实现从“清水房”到“精装房”的华丽蜕变。数字化技术不仅提升了园区的运营管理水平,降低了运营成本,还显著增强了园区的竞争力和吸引力。例如,通过构建园区数字模型(CIM),实现了多规数据融合,形成了园区规划“一张图”,为园区管理提供了直观、高效的可视化工具。此外,智能感知设施的应用,如环境监测、能耗监测等,让园区管理更加精细化、科学化。智慧能源管理系统通过实时监测和智能分析,帮助园区实现低碳绿色发展,而综合安防管控系统则通过AI+视频融合技术,为园区安全保驾护航。更有趣的是,这些技术的应用还让园区服务变得更加个性化和便捷,比如园区移动APP,让企业和员工可以随时随地享受园区服务,从会议室预定到智慧公寓管理,一切尽在“掌”握。 智慧运营中心,打造园区大脑 园区智慧化建设的核心在于构建智慧运营中心,这可以看作是园区的“数字大脑”。通过集成物联网服务平台、大数据分析平台、应用开发赋能平台等核心支撑平台,智慧运营中心实现了对园区内各类数据的实时采集、处理和分析。在这个“大脑”的指挥下,园区管理变得更加高效、协同。比如,建设工程项目智慧监管系统,通过基于二三维GIS底图的统一数字化监管,实现了对园区在建工程项目的进度控制、质量控制和安全控制的全方位监管。可视化招商系统则利用CIM模型,以多种方式为园区对外招商推介提供了数字化、在线化的展示窗口。而产业经济分析系统,则通过挖掘和分析产业数据,为园区产业发展提供了有力的决策支持。智慧运营中心的建设,不仅提升了园区的整体运营水平,还为园区的可持续发展奠定了坚实基础。 产业服务升级,激发创新活力 园区智慧化建设不仅关注基础设施和运营管理的升级,更重视产业服务的创新。通过整合平台资源、园区本地资源和外围资源,打造园区服务资源池,为园区内的企业和个人提供了全面的智慧管理、智慧工作和智慧生活服务。特别是工业互联网平台和工业云服务的建设,为园区内的企业提供了轻量化、智能化的生产服务。这些服务涵盖了车间信息化管理、云制造执行、云智能仓储、设备健康管理等多个方面,有效提升了企业的生产效率和竞争力。此外,通过产业经济分析系统,园区还能够对潜在客户进行挖掘、对经销商进行风控、对产品销量进行预测等,为企业的市场营销提供了有力支持。这些创新的产业服务,不仅激发了园区的创新活力,还为区域经济的转型升级注入了新的动力。总之,园区智慧化建设是一场深刻的变革,它正以前所未有的方式重塑着园区的生态、运营和服务模式,为园区的可持续发展开辟了广阔的前景。

    Redmine Tags plugin (Light version) 可自定义issue标签插件 可设置ISSUE标签 并设置根据标签查询 1.验证通过版本redmine5.0.4 2.解压tar

    Redmine Tags plugin (Light version) 可自定义issue标签插件 可设置ISSUE标签 并设置根据标签查询 1.验证通过版本redmine5.0.4 2.解压tar包至redmine/plugins目录重启redmine即可

    车牌识别_神经网络_模板匹配_训练识别程序_1741774578.zip

    车牌识别项目

    powerDesigner报告模板

    powerDesigner报告模板

    yolov5 csl_labelOriented Object detection旋转检测.zip

    python、yolo、pytorch

    车牌识别_深度学习_YOLOV7_LPRnet_技术实现与实_1741774682.zip

    车牌识别项目

    a8cce16fd8df855fa808c72133df2b4a_1741769036387_1

    a8cce16fd8df855fa808c72133df2b4a_1741769036387_1

    33559399361500导师评价.zip

    33559399361500导师评价.zip

    jaxlib-0.4.18-cp311-cp311-macosx_10_14_x86_64.whl

    该资源为jaxlib-0.4.18-cp311-cp311-macosx_10_14_x86_64.whl,欢迎下载使用哦!

    学号+姓名+实验二.ipynb

    学号+姓名+实验二.ipynb

    机器人项目-基于STM的智能引导车code(用户引导残障人士)

    机器人项目-基于STM的智能引导车code(用户引导残障人士)

    亲测柚子社区团购源码V1.6.2 小程序开源版+前端.zip

    亲测柚子社区团购源码V1.6.2 小程序开源版+前端(已亲测可安装使用) 是以微信为载体整合多个社区社群资源,形成由商家集中化管理运营的预售 团购的社区商业模式。 主要销售场景是由各快递代收点、社区便利店、社区物业、业主等发起的社区微信群,每个群都相当于一个社区店。

    基于caffe的Yolov3v4实时目标检测框架.zip

    python、yolo、pytorch

    java-springboot+vue编程训练系统设计与实现源码(项目源码-说明文档).zip

    系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

    图像识别_Cifar10_多种网络_分类研究_1741783912.zip

    图像处理项目实战

    blob-from-images opencv dnn

    blob_from_images opencv dnn

    糖尿病视网膜病变检测_pytorch_图像分类_医疗辅助_1741784391.zip

    图像处理项目实战

    Kubernetes K8s架构师实战.zip

    目录: 第 1 章:Ansible 自动化部署 K8S 集群【内含6个文件】 第 2 章:弹性伸缩【内含4个文件】 第 3 章:Helm 应用包管理器(v3)【内含3个文件】 第 4 章:K8S 集群网络【内含1个文件】 第 5 章:K8S 存储 之 Ceph 分布式存储系统【内含4个文件】 第 6 章:微服务容器化迁移【内含3个文件】 第 7 章:基于 K8S 构建企业 Jenkins CICD 平台(微服务)【内含4个文件】 第 8 章:服务治理 Istio 初探【内含1个文件】 网盘文件永久链接

Global site tag (gtag.js) - Google Analytics