在本章中,我们将讨论 JAVA 编程语言中 JVM、JRE 和 JDK 的一个重要定义。我们还讨论了 JVM、JRE 和 JDK 之间的区别。
Java 技术既是一种编程语言又是一个平台。Java 编程语言是一种高级面向对象语言,具有特定的语法和风格。Java 平台是 Java 编程语言应用程序运行的特定环境。
我们先从什么是JDK说起?
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 等)的不同安装程序):
JVM 是 Java 编程语言的一个非常重要的组成部分。当您运行 Java 程序时,Java 编译器首先将您的 Java 代码编译为字节码。然后,JVM 将字节码翻译成本地机器码(计算机 CPU 直接执行的一组指令)。
JVM 将字节码翻译成机器语言,由于机器语言取决于所使用的操作系统,很明显 JVM 是平台(操作系统)相关的。
JVM之所以被称为虚拟是因为它提供了一个不依赖于底层操作系统和机器硬件的接口。
如果您有兴趣了解 JVM 架构,请访问JVM 架构详解。
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 等)+ 运行时库。
让我们看一下 JDK、JRE 和 JVM 之间的一些重要区别。
下图显示了 JVM、JRE 和 JDK 之间的关系: