图文并茂解释 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 之间的关系:

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...