JDK、JRE、JVM之间的差异——Java程序员需要了解的

Java (54) 2023-12-10 14:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说JDK、JRE、JVM之间的差异——Java程序员需要了解的,希望能够帮助你!!!。

什么是Java开发工具包(JDK)?

JDK代表用于开发Java applet和应用程序的Java Development Kit。它基本上是一个软件开发环境。JDK包括Java运行时环境(JRE),它是一个加载器/解释器,一个名为(javac)的编译器,一个文档生成器(Javadoc),一个归档器(jar)以及开发中所需的其他工具。

JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第1张

  • 加载代码
  • 验证代码
  • 执行代码
  • 提供运行时环境

什么是Java运行时环境(JRE)?

Java Runtime Environment或JRE也称为Java RTE。Java运行时环境包含核心类和支持文件; 它还包含Java虚拟机(JVM)。它提供了运行时环境。

  • 确定Java虚拟机工作的特定位置。
  • 实现是一个满足JVM特定前提条件的PC程序。
  • 运行时实例无论何时编写Java命令以运行 Java类,都会调用JVM。
  • JDK或Java Development Kit是一个物理存在的工具包,它包含JRE +和其他工具。
JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第2张

图片来自于网络

什么是Java虚拟机(JVM)?

JVM提供了用于执行Java字节码的运行时环境。它是一个依赖于平台的抽象机器,有三个概念作为规范,一个描述JVM实现要求的文档,一个满足JVM要求的计算机程序,以及一个执行Java字节码的实现。

JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第3张

JVM的主要任务是:

  • 加载代码
  • 验证码
  • 执行代码
  • 提供运行时环境

JDK,JRE和JVM之间的区别

JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第4张

图片来自于网络

JDK与 JRE功能

JRE包括什么?

JRE包括内容的细分。

  • 部署技术 - 包括Java Web Start和Java Plug-in。
  • UI工具包 - 用户界面包括抽象窗口工具包(AWT),Swing,Java 2D,辅助功能,图像I / O,打印服务,声音,直观(DnD)和信息技术。
  • 集成库 - 它包括接口定义语言(IDL),Java数据库连接(JDBC,远程方法调用(RMI),Internet Inter-Orb协议上的远程方法调用(RMI-IIOP)),Java命名和目录接口(JNDI),还有脚本。
  • 其他基础库,包括全球帮助,输入/产量(I / O),扩展工具,Bean,Java管理扩展(JMX),Java本机接口(JNI),数学,网络,覆盖机制,安全性,序列化和Java XML处理(XML JAXP)。
  • Lang和util基础库 - 它包括lang和util,管理,形成,zip,工具,反射,集合,并发实用程序,Java Archive(JAR),Logging,Preferences API,Ref Objects和Regular Expressions。
  • Java虚拟机(JVM),包括Java HotSpot客户端和服务器虚拟机。
JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第5张

JRE功能如何?

了解JRE函数如何执行,让我们考虑比如Example.java这样的Java源文件。该文件被合并到字节码中,而字节码放在“.class”文档中。这里,它就是“Example.class”。

JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第6张

图片来自于网络

运行时的操作:

  • Java的 ClassLoader

ClassLoader 会执行每一个类,它通过将附近记录框架的名称空间与通过系统导入的名称空间隔离开来提供安全性。这些记录可以从硬盘,系统或不同来源堆叠。

  • Java ByteCode Verifier

JVM通过ByteCode Verifier 放置代码 ,检查格式并检查非法代码。

ByteCode Verifier保证代码在JVM中有效的执行。

JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第7张

图片来自于网络

  • Java解释器

在运行时,有两个功能:

  • 执行ByteCode
  • 正确拨打隐藏的设备
JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第8张

图片来自于网络

JDK、JRE、JVM之间的差异——Java程序员需要了解的_https://bianchenghao6.com/blog_Java_第9张

图片来自于网络

JVM功能如何?

JVM在Java程序的运行时由JRE的实现,它通常被称为运行时解释器。

结论

在本文中,我们了解了什么是JRE,JVM和JDK,欢迎广大朋友批评指正,也欢迎点赞和转发。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复