我很难理解两者之间的区别JVM(Java虚拟机),JRE(Java运行时环境),JDK(Java 开发工具包),JIT(即时编译器),以及javac(Java 编译器)。
所有这些之间的良好比较和对比是什么?
您可能已经在 google 上搜索了很多次来找到这个问题的答案,并且发现了一个非常无聊的图表,显示了 JVM、JRE 和 JVM 之间的架构和相互关系。我花了将近一年的时间才从实践上(而不是理论上)理解它。
让我们找出这个简单(但非常重要)问题的答案:
什么是 JDK、JRE 和 JVM?
JDK:- Java开发工具包(简称JDK)是提供开发和执行(运行)Java程序的环境的工具包。例如。您(作为 Java 开发人员)正在您的计算机上开发会计应用程序,那么您的计算机需要什么来开发和运行这个桌面应用程序?为此,您将需要 J-D-K,为此您只需前往 sun 或 oracle 的官方网站将最新版本的 JDK 下载到您的计算机中。
因此,JDK是一个工具包(或包),其中包括两件事:i)开发工具(提供开发java程序的环境)和ii)JRE(执行java程序)。 JDK仅供Java开发人员使用。
JRE:- Java运行时环境(即JRE)是一个安装包,它提供仅在您的计算机上运行(而不是开发)java程序(或应用程序)的环境。例如(继续相同的示例)在开发会计应用程序后,您希望将此应用程序运行到客户的计算机中。现在,在这种情况下,您的客户只需要在他/她的机器上运行您的应用程序,因此您的客户应该安装 JRE 以便在他/她的机器上运行您的应用程序。
因此,JRE 仅供只想运行 Java 程序的人使用,即系统的最终用户。
JVM:- Java 虚拟机(JVM)是 JDK 和 JRE 中非常重要的一部分,因为它包含或内置在两者中。无论你使用JRE或JDK运行什么java程序,都会进入JVM,JVM负责逐行执行java程序,因此它也被称为解释器(我们稍后会讨论解释器)。因此,您不需要将 JVM 单独安装到您的计算机中,因为它内置于您的 JDK 或 JRE 安装包中。我们很快就会探索更多关于 JVM 的内容。
最后,在了解了java的所有三个主要部分之后,您可以看一下上图,以清楚地了解java所有主要组件之间的架构和相互关系。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)