一篇文章教你明白JDK JRE JVM之间的关系

         什么是JDK?

JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。

JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。

        JDK 组件、工具和实用程序

        JDK 的 bin 目录提供了有助于软件开发过程的各种功能和工具。一些更流行的 JDK 实用程序包括:

javac:此实用程序用于将 Java 源代码编译为 Java 字节码。

rmic:此实用程序创建用于远程方法调用 (RMI) 的骨架和存根。

jar:此压缩实用程序将大量文件聚合到单个 Java ARchive (JAR) 文件中。jar 实用程序使用所有最常见的 zip 实用程序都使用的标准压缩算法。

javadoc:此实用程序可以检查类的名称和包含在类中的方法,以及使用特殊注释来为 Java 代码创建应用程序编程接口 (API) 文档。

wsgen:这会生成 Java API for XML Web Services (JAX-WS) 所需的各种工件。

javap:此实用程序反汇编类文件,生成有关给定编译组件的方法、属性和属性的信息。

JDK 还包含许多用于检查 JVM 运行时行为的工具,包括 Java Mission Control (JMC)、Java Flight Recorder (JFR) VisualVM。

        什么是JRE?

JRE是Java Runtime Environment 的简称,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库

JRE包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

        JDK 与 JRE 比较

下载和安装 Java 时,有两种可能的选择。第一种是下载安装JRE,第二种是下载安装JDK。

任何用 Java 编写的程序,除了标准的 Java 库集和简单的执行环境之外,不需要任何额外功能,都可以在 JRE 提供的 JVM 上成功运行。

但是,如果需要任何补充功能,例如需要即时编译 Java 源代码或生成身份验证证书,则需要 JDK。JDK 包含自己的 JRE,但在 JRE 的基本功能之外还提供了各种额外的功能。

        什么是JVM?

JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。

        JDK与JVM和JRE的区别?

JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。

JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值