微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JDK、JRE、JVM分析

JDK(Java Development Kit)

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

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

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

JDK文件目录截图

其中一些主要文件夹:

  • 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文件中的主要文件目录:

JRE文件目录截图

  • 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跨平台,可以在多种操作系统上运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐