JDK、JRE、JVM分析

JDK(Java Development Kit)

Java开发工具,是由开发者使用,而在只运行java程序的机器上不需要使用。

JDK中包含JRE、Java基础的类库和java工具(javac/java/jdb等)。

以下是JDK1.8.0_281的文件目录结构

JDK、JRE、JVM分析

其中一些主要文件夹:

  • bin: java开发工具可执行文件目录,用于编译,运行以及调试Java程序或监控JVM的运行。其中javac.exe可以将.java文件编译成为.class文件

  • include: c的头文件,用与支持 native-code 库使用 jvm Debugger(虚拟机调试器)接口。简单来说就是java与jvm交互用的头文件

  • jre: java运行环境,用于运行java编译后的.class文件

  • legal: 相关协议的法律文件,Markdown文件

  • lib: 开发工具所使用的类库,即jdk中的bin目录中的工具所使用的类库。主要包括tools.jar和dt.jar

  • src.zip: Java的所有核心类库的源代码。

JRE(Java Runtime Environment)

Java运行环境,是一台机器运行java程序所不可缺少的运行环境,即用户所需要安装的部分。

JRE中包含JVM、Java的核心类库。

以下是JRE文件中的主要文件目录:

JDK、JRE、JVM分析

  • bin: jre 执行文件及 DLL 库,可执行文件与 jdk\bin 相同,不必将该目录放在 PATH 环境变量中。

  • lib: Java程序运行时环境使用的代码库、属性设置和资源文件,例如rt.jar(应与jdk下的lib有所区分)

JVM(Java Virtual Machine)

Java虚拟机,是java实现跨平台的关键部分,.class文件在虚拟机上运行,所以java编译后的代码并不直接与操作系统交互,而是被java虚拟机解释成为相关指令,再解释class的时候就需要JVM调用解释所需要的类库lib。JVM对于不同的操作系统有着适配的解释器,这样就使得java跨平台,可以在多种操作系统上运行。

上一篇:element-ui Table 表格自定义滚动条和fixed时表格错位的解决方案


下一篇:肖sir__java__基本介绍(001)