当前位置: 首页 > 知识库问答 >
问题:

Java组件(JRE、JDK、JVM、JIT和javac)之间的区别是什么?

尹弘壮
2023-03-14

我很难理解JVM(Java虚拟机)、JRE(Java运行时环境)、JDK(Java开发工具包)、JIT(即时编译器)和javac(Java编译器)之间的区别。

所有这些之间有什么好的比较和对比?

共有2个答案

左丘嘉言
2023-03-14

嗯,我想告诉你我对它的理解。

JDK(JavaDeveloper's Kit)是一个完整的Java开发平台。我们可以编译、调试和运行代码。JDK依赖于操作系统,所以有一点按Windows、Linux和Mac分类的版本。

JRE(Java Runtime Environment)是Java的运行时环境。如果您曾经玩过任何用Java编写的游戏,您会发现,当您要玩游戏时,您必须拥有JRE。这是Java运行时环境。

JVM(Java虚拟机)是JRE的一部分。它是JRE最重要的部分。

JIT是可以将字节码转换为二进制代码的工具。

javac是将代码转换为Java字节码的工具。

我们可以得出这样的关系:

JDK=JRE javac jconsole jvisualvm演示文档其他

JRE = JVM JAVA二进制代码其他库其他

JVM = JIT其他

鄂和璧
2023-03-14

你可能已经用了很多谷歌来找到这个问题的答案,然后遇到了一个非常无聊的图表,显示了JVM、JRE和JVM之间的架构和相互关系。我花了将近一年的时间才实际地理解它(而不是理论上)。

让我们找出这个简单(但却非常重要)问题的答案:

什么是JDK,JRE和JVM?

JDK:- Java开发工具包(简称JDK)是提供开发和执行(运行)Java程序的环境的工具包。例如。您(作为Java开发人员)正在您的计算机上开发一个会计应用程序,那么您需要在计算机中开发和运行此桌面应用程序吗?为此,您将需要J-D-K,您只需要访问sun或oracle的官方网站,将最新版本的JDK下载到您的计算机中即可。

因此,JDK是一个工具包(或包),其中包括两件事:i)开发工具(提供开发java程序的环境)和ii)JRE(执行java程序)。JDK仅由Java开发人员使用。

JRE:-Java Runtime Environment(也就是说JRE)是一个安装包,它提供了只在您的机器上运行(而不是开发)Java程序(或应用程序)的环境。例如(继续同一示例),在开发您的会计应用程序后,您希望将此应用程序运行到客户的机器上。现在,在这种情况下,您的客户只需要将应用程序运行在其机器上,因此您的客户机应安装JRE,以便将应用程序安装到其机器上。

因此,只有那些只想运行Java程序的用户,即系统的最终用户,才会使用JRE。

JVM:-Java虚拟机(JVM)是JDK和JRE的一个非常重要的部分,因为它包含或内置于两者中。使用JRE或JDK运行的任何java程序都会进入JVM,JVM负责逐行执行java程序,因此它也被称为解释器(我们稍后将讨论解释器)。因此,您不需要将JVM单独安装到您的机器中,因为它内置在您的JDK或JRE安装包中。我们将很快进一步探讨JVM。

最后,在了解了java的所有三个主要部分后,您可以看看上图,以便清楚地了解java所有主要组件之间的架构和相互关系。

 类似资料:
  • JVM、JDK、JRE和OpenJDK之间的区别是什么? 我在Java编程时遇到了这些短语,它们之间有什么不同?

  • 问题内容: JVM,JDK,JRE和OpenJDK有什么区别? 我在用Java编程时遇到了这些短语,它们之间有什么区别? 问题答案: 虚拟机 在Java虚拟机(JVM)是运行Java字节代码的虚拟机。JVM不理解Java源代码;这就是为什么需要编译文件以获取包含JVM可以理解的字节码的文件的原因。它也是允许Java成为“便携式语言”的实体(编写一次,可以在任何地方运行)。实际上,对于不同的系统(W

  • 问题内容: JDK和JRE有什么区别? 它们的作用是什么,何时应使用其中一个? 问题答案: 该JRE是Java运行时环境。它是运行已编译的Java程序所需的一切的程序包,包括Java虚拟机(JVM),类库,命令和其他基础结构。但是,它不能用于创建新程序。 在JDK是Java开发工具包,Java的功能全面的SDK。它具有JRE拥有的一切,还具有编译器()和工具(例如和)。它能够创建和编译程序。 通常

  • 本文向大家介绍JDK,JRE和JVM之间的差异。,包括了JDK,JRE和JVM之间的差异。的使用技巧和注意事项,需要的朋友参考一下 这三个JDK,JRE和JVM都是相互依赖的,并且没有共同点,因此以表格形式说明它们之间的差异并不有效,但是我们将在以下段落中进行讨论。 虚拟机 JVM是Java虚拟机的缩写,基本上是一种规范,它提供了一个运行时环境,可以在其中运行Java字节码,即它是抽象的东西,其实

  • 任何语言或者软件的运行都需要环境。就像人要生活在空气中,鱼要活在水中,喜阴植物就不能放在阳光下暴晒一样,任何对象个体的存在都离不开其所需要的环境,编程语言亦是一样的。 Java 语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开发的话,JRE 是明显不够了,这时候就需要 JDK。 其实啊,JDK

  • 问题内容: 我认为JVM与.NET Framework类似,对吗?那么,JRE是什么?JRE和JVM有什么区别? 问题答案: JRE是虚拟机在其中运行的环境。 JRE-JAVA运行时环境 JVM-JAVA虚拟机 JRE是容器,JVM是内容。