编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

夯实基础:真的清楚JDK 、JRE 与JVM之间的关系及区别?

wxchong 2024-10-10 12:29:15 开源技术 12 ℃ 0 评论

本文中,我们将讨论JDK 、JRE与JVM,探索下这些基本Java编程之基础支撑工具之间的主要区别。

1.JDK是什么?

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

● 加载代码

● 验证代码

● 执行代码

● 提供运行时环境

2.JRE是什么?

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

● 确定Java虚拟机工作的特定位置。 尽管如此,选用供应商是自由的。 它的用法由Sun和不同的组织提供。

● 其实现是一个满足JVM特定前提条件的PC程序。

● 运行时实例无论何时在调用激活Java命令以运行Java类,都会产生JVM。

● JDK或Java Development Kit是一个物理存在的工具包,它包含JRE和其他工具。

3.JVM是什么?

JVM提供了用于执行Java字节码的运行时环境。 它是一个依赖于平台的抽象机器,有三个观点作为规范,描述JVM实现要求的文档、具体实现、满足JVM要求的计算机程序,即实例,也就是一个执行Java字节码的实现。

JVM主要任务是:

? 加载代码

? 验证码

? 执行代码

? 提供运行时环境

4.JDK, JRE和JVM之间区别

主要区别参考下图:

5. JDK与JRE功能

5.1.JRE包括什么?

JRE包括的伴随部分有:

部署技术 - 包括排列布局(arrangement,针对字节码)、Java Web Start和Java Plug-in(Java插件)。

UI工具包 - 用户界面包括抽象窗口工具包(AWT),Swing,Java 2D,辅助功能,图像I/O,打印服务,声音,直觉(DnD)和信息技术。

集成库 - 它包括接口定义语言(IDL)、Java数据库连接(JDBC)、远程方法调用(RMI)、互联网Inter-Orb协议上的远程方法调用(RMI-IIOP))、Java命名和目录接口(JNDI)以及脚本。

其他基础库,包括全球帮助,输入/输出(I/ O),扩展工具,Bean,Java管理扩展(JMX),Java本机接口(JNI),Math数学,网络,覆盖机制,安全性,序列化和Java XML处理(XML JAXP)。

Lang和util基础库 - 它包括lang和util,管理,格式化,zip,工具,反射,集合,并发实用程序,Java Archive(JAR),Logging,Preferences API,Ref Objects和Regular Expressions。

Java虚拟机(JVM),包括Java HotSpot客户端和服务器虚拟机。

5.2.JRE功能如何?

看看JRE功能是如何让我们考量像Example.java的Java源码记录。该记录被合并到字节码(ByteCode)的排列中,该排列放在".class"文档中。 这里,它将是"Example.class"。

运行时的操作:

● Java ClassLoader(Java类加载器)

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

● Java字节码验证器

JVM通过字节码验证器放置代码,以此检查格式并检查非法代码。 例如,非法代码是忽略对象权限或滥用指针执行的代码。

字节码验证器保证代码持有针对特定JVM的快速,并且不会损害框架的可敬性或可信性。

Java解释器

在运行时,字节码栈化、检查并保持运行,由中介器完成。 转译器有两个能力:

? 执行字节码(ByteCode)

? 正确调用隐藏的装置

5.3.JVM作用如何?

JVM在Java程序的运行时,会成为JRE的一种表现或代表。 这也通常被称为运行时解释器。在很大程度上,JVM帮助软件工程师在利用JDK相关库服务其项目,并审查代码的内容部执行关系。。

6.结论

在这个Java教程中,我们了解了什么是JRE,JVM和JDK。 此外,我们通过示例探讨了JRE,JVM,JDK之间的基本关系和差异。 此外,如果您有任何其他问题,请随时在下面的评论部分询问。

本文为@牛旦教育IT课堂 所有,记得分享转发出去^_^

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表