图文并茂解释 Java JVM、JRE 和 JDK
创始人
2025-07-02 16:12:09
0

在本章中,我们将讨论 Java 编程语言中 JVM、JRE 和 JDK 的一个重要定义。我们还讨论了 JVM、JRE 和 JDK 之间的区别。

Java 技术既是一种编程语言又是一个平台。Java 编程语言是一种高级面向对象语言,具有特定的语法和风格。Java 平台是 Java 编程语言应用程序运行的特定环境。

我们先从什么是JDK说起?

1、JDK(Java开发工具包)

JDK (Java Development Kit) 是JRE的超集,包含了JRE中的所有内容,以及开发和运行Java程序或应用程序所必需的工具,如编译器、调试器、JavaDoc、keytool等。

下图显示 JDK(Java 开发工具包) 是一个软件开发工具包,它包含 JRE 中的所有内容,以及开发和运行 Java 程序或应用程序所需的工具,例如编译器、调试器、JavaDoc、keytool 等。

JDK 是特定于平台的软件,这就是我们为 Windows、Mac 和 Unix 系统提供单独安装程序的原因。例如,如果您导航到位于
https://www.oracle.com/in/java/technologies/javase-downloads.html的 Java 下载页面,您将看到针对不同操作系统(Windows、Linux、Mac 等)的不同安装程序):

2、JVM(Java虚拟机)

JVM 是 Java 编程语言的一个非常重要的组成部分。当您运行 Java 程序时,Java 编译器首先将您的 Java 代码编译为字节码。然后,JVM 将字节码翻译成本地机器码(计算机 CPU 直接执行的一组指令)。
JVM 将字节码翻译成机器语言,由于机器语言取决于所使用的操作系统,很明显 JVM 是平台(操作系统)相关的。

JVM之所以被称为虚拟是因为它提供了一个不依赖于底层操作系统和机器硬件的接口。

如果您有兴趣了解 JVM 架构,请访问JVM 架构详解。

3、JRE(Java运行时环境)

Java 运行时环境(JRE)提供库、Java 虚拟机和其他组件来运行用 Java 编程语言编写的小程序和应用程序。

JRE 不包含任何开发工具,如 Java 编译器、调试器、JShell 等。

如果你只是想执行一个java程序,你可以只安装JRE。您不需要 JDK,因为不需要开发或编译 java 源代码。

下图显示了 JRE(Java 运行时环境)是一个软件包,它提供 Java 类库以及 Java 虚拟机 (JVM) 和其他组件来运行用 Java 编程编写的应用程序。

JRE = JVM + Java 包类(如 util、math、lang、awt、swing 等)+ 运行时库。

4、JDK 对比 JRE 对比 JVM

让我们看一下 JDK、JRE 和 JVM 之间的一些重要区别。

  • JDK用于开发目的,而 JRE 用于运行 java 程序。
  • JDK和JRE都包含了JVM,这样我们就可以运行我们的java程序了。
  • JVM是 Java 编程语言的核心,并提供平台独立性。

下图显示了 JVM、JRE 和 JDK 之间的关系:

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...