当前位置: 首页 > 编程笔记 >

JDK,JRE和JVM之间的差异。

仇高韵
2023-03-14
本文向大家介绍JDK,JRE和JVM之间的差异。,包括了JDK,JRE和JVM之间的差异。的使用技巧和注意事项,需要的朋友参考一下

这三个JDK,JRE和JVM都是相互依赖的,并且没有共同点,因此以表格形式说明它们之间的差异并不有效,但是我们将在以下段落中进行讨论。

虚拟机

JVM是Java虚拟机的缩写,基本上是一种规范,它提供了一个运行时环境,可以在其中运行Java字节码,即它是抽象的东西,其实现独立于算法选择,由Sun和其他公司提供。 。是JVM,它负责将Byte代码转换为机器特定的代码。它还可以运行用其他语言编写并编译为Java字节码的程序。JVM执行上述任务:加载代码,验证代码,执行代码,提供运行时环境。

杰瑞

JRE是Java运行时环境,是JVM的实现,即,实现了JVM中定义的规范并创建了用于执行代码的相应环境。JRE主要包括Java二进制文件和其他类,以执行物理上存在的JVM一样的程序。JRE与Java二进制文件一起还包括各种部署技术,与执行的代码进行交互的用户界面,一些用于不同功能和语言的基本库以及基于util的库。

JDK

JDK是Java Development Kit的缩写,包括编译,调试和执行Java程序所需的所有工具,可执行文件和二进制文件.JDK依赖于平台,即Windows,Mac和Unix系统有单独的安装程序.JDK包括JVM和JRE完全负责代码执行。它是JDK的版本,代表Java的版本。

以下是JDK,JRE和JVM之间的重要区别

序号

JDK
杰瑞
虚拟机
1个
Definition
JDK(Java开发工具包)是一种用于使用Java开发应用程序的软件开发工具包。除了JRE,JDK还包含许多开发工具(编译器,JavaDoc,Java Debugger等)。
JRE (Java Runtime Environment) is the implementation of JVM and is defined as a software package that provides Java class libraries, along with Java Virtual Machine (JVM), and other components to run applications written in Java programming.
JVM(Java虚拟机)是依赖于平台的抽象机,具有三个概念作为规范,描述JVM实现的要求的文档,实现,满足JVM要求的计算机程序以及实例(执行Java的实现)字节码提供了用于执行Java字节码的运行时环境。
2
Prime functionality
JDK主要用于代码执行,并且具有开发的主要功能。
On other hand JRE is majorly responsible for creating environment for code execution.
另一方面,JVM指定所有实现,并负责将这些实现提供给JRE。
3
Platform Independence
JDK依赖于平台,即对于不同的平台,需要不同的JDK。
Like of JDK JRE is also platform dependent.
JVM是平台无关的。
4
Tools
由于JDK负责主要开发,因此它包含用于开发,调试和监视Java应用程序的工具。
On other hand JRE does not contain tools such as compiler or debugger etc. Rather it contains class libraries and other supporting files that JVM requires to run the program.
JVM不包括软件开发工具。
5
Implementation
JDK = Java运行时环境(JRE)+开发工具
JRE = Java Virtual Machine (JVM) + Libraries to run the application
JVM =仅运行时环境,用于执行Java字节码。
 类似资料:
  • JVM、JDK、JRE和OpenJDK之间的区别是什么? 我在Java编程时遇到了这些短语,它们之间有什么不同?

  • 我很难理解JVM(Java虚拟机)、JRE(Java运行时环境)、JDK(Java开发工具包)、JIT(即时编译器)和javac(Java编译器)之间的区别。 所有这些之间有什么好的比较和对比?

  • 我正在尝试使用Eclipse、Java、Selenium、Cucumber和Appium测试apk文件。 在Windows环境变量中,在系统变量下,我将JAVA\u HOME的值设置为“C:\Program Files\JAVA\jdk-15.0.2”。 在Eclipse中,我在运行配置中使用了最新的JDK 15.0.2。当我执行cucumber测试时,我得到以下错误: C: \Users\x\A

  • 问题内容: JVM实现在哪些方面有所不同(许可除外)?每个JVM是否都为通用处理实现类型清除? 之间的区别在哪里: JRockit IBM JVM SUN JVM Open JDK power failure Kaffi .....处理其中之一的尾部呼叫优化吗? 问题答案: JVM实现在实现JIT编译,优化,垃圾回收,支持的平台,支持的Java版本等方面可以有所不同。它们都必须满足一组功能和行为,

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

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。