JDK、JRE 和 JVM 之间的区别

JDK、JRE和JVM之间的区别是流行的面试问题之一。您可能还会被要求解释JDK、JRE和JVM。

JDK、JRE、JVM的区别

JDK、JRE和JVM是Java编程语言的核心概念。我们在编程中不使用这些概念。但是,作为一名Java开发人员,我们应该了解它们。

1.JDK

Java开发工具包(又名JDK)是Java环境的核心组件,提供了编译、调试和执行Java程序所需的所有工具、可执行文件和二进制文件。JDK是特定于平台的软件,这就是为什么我们在Windows、Mac和Unix系统上有单独的安装程序。我们可以说JDK是JRE的超集,因为它包含带有Java编译器、调试器和核心类的JRE。

2.JVM

JVM是Java编程语言的核心。当我们执行Java程序时,JVM负责将字节码转换为机器专用代码。JVM也是与平台相关的,并提供核心的Java功能,如内存管理、垃圾收集、安全等。JVM是可定制的,我们可以使用Java选项来定制它。例如,为JVM分配最小和最大内存。JVM之所以被称为虚拟 ,是因为它提供了一个不依赖于底层操作系统和机器硬件的接口。这种对硬件和操作系统的独立性使得Java程序可以随时随地编写一次运行。

3.JRE

JRE是JVM的实现。它提供了一个执行Java程序的平台。JRE由JVM、Java二进制文件和其他类组成,可以成功执行任何程序。JRE不包含任何开发工具,如Java编译器、调试器、JShell等。如果您只想执行Java程序,可以只安装JRE。您不需要JDK,因为不需要开发或编译Java源代码。既然我们已经对JDK、JVM和JRE有了基本的了解,让我们来看看它们之间的区别。

jdk vs jre vs jvm

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

1.JDK用于开发,而JRE用于运行Java程序。 2.JDK和JRE都包含JVM,所以我们可以运行我们的Java程序。 3.JVM是Java编程语言的核心,提供平台无关性。

实时编译器(JIT)

有时,您会在教科书中找到与JVM、JDK和JRE一起使用的JIT。JIT是JVM的一部分,它优化了将字节码转换为机器专用语言的过程。它同时编译相似的字节码,并将字节码编译为机器专用语言所需的总时间减少。

Published At
Categories with 技术
Tagged with
comments powered by Disqus