JAVAjdk目录结构简单介绍

java jdk的目录结构

以下的内容为本人参考网上一些类似的博客之后在结合自己的认识来写的,如有不足,欢迎大家指正

当你打开安装的jdk目录之后会看到如下的目录结构

关于一下各个文件夹的内容和作用我来给大家介绍一下,请注意,此时默认的目录是没有上图中的src文件夹的,该文件夹是我把src.zip解压生成的,这个压缩包比较特殊,其实里面的内容就是java基本类库的源代码,全部都是.java文件,大家没事可以看看其中的源代码,了解下java类的设计

然后总体的结构我就在网上找了大牛已经分析好的结构,给大家做个参考

如下文

-bin目录: JDK开发工具的可执行文件
-lib目录: 开发工具使用的归档包文件
-jre: Java 运行时环境的根目录,包含Java虚拟机,运行时的类包和Java应用启动器,
        但不包含开发环境中的开发工具
-demo: 含有源代码的程序示例
-include: 包含C语言头文件,支持Java本地接口与Java虚拟机调试程序接口的本地编程技术

开发文件和目录

本节对开发 Java 平台应用程序所要求的文件和目录进行说明。(不要求的目录有:演示程序、Java 源代码和 C 头文件。下一节附加文件和目录将对它们进行论述。) 下图列出的是最重要的目录:

  1.                  jdk1.2
            ___________|____________________
           |           |                    |
          bin         lib                  jre
           |           |          __________|___________
       java.exe    tools.jar     |                      |
       javac.exe   dt.jar       bin                    lib
       javap.exe            _____|____          ________|________
       javah.exe           |          |        |        |        |
       javadoc.exe     java.exe    classic   rt.jar    ext    
    security
                       java.dll       |      i18n.jar   |
                       awt.dll     jvm.dll            iiimp.jar    

假定 JDK 软件安装在 c:\jdk1.2 目录中,下面列出的是那些关键目录及它们之所以重要的原因:

c:\jdk1.2
JDK 软件安装的根目录。包含版权、许可及 README 文件。还包括:
  • src.jar -- 构成 Java 平台核心 API 的所有类的源文件的归档。
c:\jdk1.2\bin
Java 开发工具包 (JDK) 中所包含的开发工具的可执行文件。PATH 环境变量应该包含一个指示此目录的项。有关工具的详细信息,参见 JDK 工具
c:\jdk1.2\lib
开发工具使用的文件。这些文件包括 tools.jar,它包含支持 JDK 的工具和实用程序的非核心类。还包括 dt.jar,它是 BeanInfo 文件的 DesignTime 归档,BeanInfo 文件用来告诉交互开发环境 (IDE) 如何显示 Java 组件以及如何让开发人员根据应用程序自定义它们。
c:\jdk1.2\jre
JDK 开发工具所使用的 Java 运行时环境的根目录。运行时环境是 Java 1.2 平台的实现。除了文档外,它与可部署的 JRE 完全相同。
c:\jdk1.2\jre\bin
Java 平台使用的工具和库的可执行文件及 DLL。可执行文件与 /jdk1.2/bin 中的文件相同。java 启动器工具担当应用程序启动器的角色,它替代了与 1.1 版的 JDK 软件一同发行的旧 jre 工具。不必将该目录放在 PATH 环境变量中。
c:\jdk1.2\jre\bin\classic
包含虚拟机使用的 Windows DLL 文件。经典虚拟机是 Java 虚拟机的语言解释器版本。当新的虚拟机可用时,它们的 DLL 将被安装在 jre/bin 的某个新子目录中。
c:\jdk1.2\jre\lib
Java 运行时环境使用的代码库、属性设置和资源文件。包括:
  • rt.jar -- 类(构成 Java 平台核心 API 的 RunTime 类)。
  • i18n.jar -- 字符转换类及其它与国际化和本地化有关的类。
除(下面将要阐述的) ext 子目录以外,还有几个资源子目录不在此处说明。
c:\jdk1.2\jre\lib\ext
Java 平台扩展的缺省安装目录。例如,这是安装时 JavaHelp jar 文件的安装目录。包括:
  • iiimp.jar -- 实现 Internet-Intranet 输入方法协议的类,供从使用国际字符集的设备上接收输入的应用程序来使用。
c:\jdk1.2\jre\lib\security
包含用于安全管理的文件。这些文件包括安全策略 (java.policy) 和安全属性 (java.security) 文件。

附加文件和目录

本节说明演示程序、Java 源代码和 C 头文件的目录结构。下面是目录结构:

  1.                    jdk1.2
          __________ _____|_____ _____________
         |          |           |             |
       src.jar    demo       include     include-old
                 ___|___
                |       |
              applets  jfc
                        |
                      Java2D       

以上所显示的附加目录为:

c:\jdk1.2\demo
含有源代码的程序示例,用于显示如何为 Java 平台编程。
c:\jdk1.2\demo\applets
可用在网页上的 applet。
c:\jdk1.2\demo\jfc
使用新 JFC\Swing 组件的示例。
c:\jdk1.2\demo\jfc\Java2D
使用新 Java 2D 图形的示例。
c:\jdk1.2\include
C 语言头文件,它支持使用 Java 本地接口 [ web]和 Java 虚拟机调试程序接口 [ web] 的本地代码编程技术。
c:\jdk1.2\include-old
头文件,支持使用旧接口的本地代码编程技术。提供这些头文件只是为了向后兼容。所有 Java 虚拟机都不推荐、不支持也不提供这些接口。

其中我要强调的是,jre\lib和jdk\lib的区别
jre\lib 下面的是执行java程序所需的类库(包括java核心类,swing,rmi)
jdk\lib 下面的是用来支持jdk\bin下面的开发工具的非核心类库tool.jar,还有dt.jar包含了BianInfo文件用来与IDE交互,显示定制javabean组件外观的。

简单的说,如果只是运行java程序,就不需要jdk\lib下的jar文件
如果要用jdk等开发,特别是用到javabean,和某些jdk工具就要用到jdk\lib下的类库文件

java的API文档是对jre\lib\rt.jar的说明。

也就是说与前文java类库的源码也就是src.zip文件里面的.java文件形成一一对应关系的就是jre\lib目录下rt.jar里面的.class文件。

还有一点需要说明就是我们平时写java程序,import的java的自带的类,其实最后都是相当于引用的.class文件,与.java文件并没有什么关系,所以src文件夹默认是没有的。

以上就是本人对java jdk的一点简单认识,如果有不足的地方欢迎大家前来指正

参考资料来源:http://blog.csdn.net/littleyearyear/article/details/41477807


  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我无法提供图片或图表。但是,我可以为您描述JDK的JVM结构JDKJava Development Kit)是Java的开发工具包,其中包含了JRE(Java Runtime Environment)和一系列的开发工具。JVM(Java Virtual Machine)是JDK中的一个重要组成部分。 JVM是一个虚拟机,它负责解释和执行Java字节码文件。它是Java程序运行的环境。JVM内部包含了多个组件,包括类加载器、解释器、即时编译器、垃圾收集器等。 类加载器负责加载Java类文件,并将其转换为JVM可以理解的格式。解释器负责解释字节码文件,并逐行执行其中的指令。即时编译器可以将热点代码(经常执行的代码)编译成本地机器码,以提高执行效率。垃圾收集器负责回收不再使用的内存空间。 JVM的结构可以简单描述为:JVM包含了类加载器、解释器、即时编译器和垃圾收集器等组件,它们共同协作来解释和执行Java字节码文件。 希望这个描述对您有所帮助。如果您需要更详细的信息,请参考JDK的官方文档。 #### 引用[.reference_title] - *1* *2* *3* [JDK、JRE、JVM 之间的关系](https://blog.csdn.net/m0_56673710/article/details/126093658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值