JDK,JRE和JVM之间的区别
JDK,JRE和JVM之间的区别是流行的面试问题之一。
您可能还会被要求解释JDK,JRE和JVM。
JDK,JRE和JVM之间的区别
JDK,JRE和JVM是Java编程语言的核心概念。
我们在编程中不使用这些概念。
但是,作为Java开发人员,我们应该了解它们。
1. JDK
Java开发套件(又名JDK)是Java Environment的核心组件,它提供编译,调试和执行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,JRE和JVM
让我们看一下JDK,JRE和JVM之间的一些重要区别。
JDK用于开发目的,而JRE用于运行Java程序。
JDK和JRE都包含JVM,因此我们可以运行我们的java程序。
JVM是Java编程语言的核心,并提供平台独立性。
即时编译器(JIT)
有时您会在教科书中发现JIT以及JVM,JDK和JRE。
JIT是JVM的一部分,它优化了将字节码转换为机器特定语言的过程。
它可以同时编译相似的字节码,并减少了将字节码编译为机器特定语言所需的总时间。