JDK、JRE和JVM的区别

JDK、JRE和JVM的区别

Java Development Kit (JDK)是一个用于开发Java应用程序和小程序的软件开发环境。它包括Java运行时环境(JRE)、解释器/加载器(Java)、编译器(javac)、归档器(jar)、文档生成器(Javadoc)和其他Java开发所需的工具。

现在我们需要一个环境来运行我们的程序。因此,JRE代表“Java运行时环境”,也可以写成“Java RTE”。Java运行时环境提供了执行Java应用程序的最低要求;它包括 Java虚拟机(JVM),核心类 , and 支持文件 .

现在让我们讨论JVM,它是java虚拟机的代表。具体如下:

  • 一个指定Java虚拟机工作的规范。但实现提供商可以独立选择算法。它的实现由Sun和其他公司提供。
  • 实现是满足JVM规范要求的计算机程序。
  • 运行时实例每当您在命令提示符上编写java命令来运行java类时,就会创建JVM的一个实例。

在讨论JDK、JRE和JVM之间的区别之前,让我们先简要地讨论一下它们,并将它们与下面将要提出的图像联系起来。

JDK、JRE和JVM的区别

不要感到困惑,因为我们将逐一讨论它们。

1. JDK (Java Development Kit)是一个为开发和执行(运行)Java程序提供环境的工具包。JDK是一个套件(或包),它包含两个东西

  • 开发工具(提供开发java程序的环境)
  • JRE(用于执行java程序)。

2. JRE (Java运行时环境)是一个安装包,它提供了一个只在计算机上运行(而不是开发)Java程序(或应用程序)的环境。JRE仅供那些只希望运行Java程序的系统的最终用户使用。

3.JVM (Java虚拟机)是JDK和JRE非常重要的一部分,因为它包含在或内置在两者中。无论您使用JRE或JDK运行什么Java程序,都会进入JVM, JVM负责逐行执行Java程序,因此它也被称为i nterpreter .

现在让我们讨论JRE的组件,以便理解它的重要性并了解它的实际工作方式。为此,让我们讨论组件。

JRE组件如下:

  1. 部署技术,包括部署、Java Web Start、Java插件。
  2. 用户界面工具包,包括 Abstract Window Toolkit (AWT), Swing, Java 2D,可访问性,图像I/O,打印服务,声音,拖动 , 放(DnD) , and 输入方法 .
  3. 集成库,包括 接口定义语言(IDL)、Java数据库连接(JDBC)、Java命名和目录接口(JNDI)、远程方法调用(RMI)、通过Internet orb间协议远程方法调用(RMI- iiop) , and 脚本 .
  4. 其他基本库,包括 国际支持、输入/输出(I/O)、扩展机制、bean、Java管理扩展(JMX)、Java本地接口(JNI)、数学、网络、覆盖机制、安全、序列化 , and Java for XML处理(XML JAXP) .
  5. Lang和util基础库,包括 lang和util,管理,版本控制,zip,仪器,反射,集合,并发实用程序,Java存档(JAR),日志,首选项API,引用对象 , and 正则表达式 .
  6. Java虚拟机(JVM),包括 Java HotSpot客户机 and 服务器虚拟机 .

在充分了解了这些组件之后,现在让我们讨论JRE的工作原理。为了理解JRE是如何工作的,让我们考虑下面的插图:

说明:

考虑将java源文件保存为’ 例.java” . 文件被编译成一组字节码,存储在 .class ”文件。就在这里” 例.class “.

JDK、JRE和JVM的区别

注意:从上面可以看出,编译期间的媒体操作计算是可以解释的。

运行时发生的操作如下所示:

  • 类装入器
  • 字节码校验器
  • 翻译
    • 执行字节码
    • 对底层硬件进行适当的调用

现在让我们简要地讨论一下JVM是如何工作的。具体如下:

JVM在Java程序运行时成为JRE的一个实例。它被广泛认为是一个运行时解释器,.JVM在很大程度上帮助程序员抽象内部实现,这些程序员使用JDK中的库来编写程序。

它主要负责三项活动。

  • Loading
  • Linking
  • 初始化

同样,现在让我们来讨论JRE的工作方式,如下:

  • JVM(Java虚拟机)充当运行Java应用程序的运行时引擎。JVM实际上调用java代码中呈现的主方法。JVM是JRE(Java运行时环境)的一部分。
  • Java应用程序被称为WORA (Write Once Run Anywhere)。这意味着程序员可以在一个系统上开发Java代码,并可以期望它在任何其他支持Java的系统上运行,而无需进行任何调整。这一切都是可能的,因为JVM。
  • 当我们编译 .java file, .class 中的类名相同的文件(包含字节码) .java 文件由Java编译器生成。这 .class 当我们运行它时,文件会进入不同的步骤。这些步骤共同描述了整个JVM。

JDK、JRE和JVM的区别

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程