首页 > 编程知识 正文

jre,jdk,jvm的区别(jre包括jvm和java核心类库_JDK、JRE、JVM分别是什么及它们之间的有什么关联)

时间:2023-05-03 23:56:41 阅读:123741 作者:604

JDK

JDK:Java开发工具包是Java的标准开发工具包。 (普通用户只需安装JRE并运行Java程序。 程序开发人员必须安装JDK并编译、调试程序)。 它提供了编译和运行Java程序所需的各种工具和资源,包括:Java编译器. Java执行环境JRE .常规Java基础类库。

安装目录的说明

一些不良的锥形文件包含JDK各种开发工具的可执行文件。 主要的是编译器(javac.exe )

db文件是一个基于Java技术的数据库,用于处理整个高级事务。 jdk附带使用数据库数据库

包含文件包含用于Java和jvm交互的头文件

jre是java执行环境

lib文件包含JDK工具命令的实际可执行文件

JRE

JRE:Java运行时环境是运行用Java语言编写的程序所必需的运行环境,用于解释运行Java的字节码文件。

通过这种方式,Java开发人员可以将自己开发的程序发布到用户手中,供用户使用。 JRE包括Javavirtualmachine(JVM )、运行时类库和Java应用程序启动器,它们是运行Java程序所需的组件。 与众所周知的JDK不同,JRE是Java运行时环境,而不是开发环境,因此不包含编译器和调试器等开发工具,而是面向使用Java程序的用户。

安装目录的说明

坏玉米中是JVM,lib中是JVM工作所需的类库,JVM和lib统称为JRE

JVM

Java虚拟机是Java虚拟机,是JRE的一部分。 这是整个java实现跨平台的最核心部分,也是可以解释字节码文件执行和运行java字节码文件的虚拟计算机。

所有平台上的JVM都为编译器提供相同的接口,但编译器只需向虚拟机生成虚拟机可见的代码,然后由虚拟机解释和运行。

JAVA跨平台的原因

使用Java编译器编译Java程序时,将生成与平台无关的字节码。 这些字节码是针对JVM的。 JVM因平台而异,但都提供相同的接口。

JVM是Java程序跨平台的最核心部分,如果实现了与不同平台对应的虚拟机,则编译的Java字节码可以在该平台上运行。 Java程序屏蔽有关特定操作系统平台的信息,只需生成在Java虚拟机上运行的目标代码(字节码),即可在各种平台上运行而无需修改。

正因为存在JVM,Java才具有强大的跨平台特性。

JVM运行程序的过程

1、加载. class文件

的所有java程序都首先编译为. class类文件,可以在虚拟机中运行。 也就是说,class通过虚拟机间接与操作系统交互,虚拟机将程序解释和运行到本地系统,而不是直接与机器的操作系统兼容。 只有JVM无法成功运行. class类文件。 这是因为在解释class时,JVM必须调用解释所需的类库lib,而jre包含lib类库。

2、运行class文件

可以在命令行中输入java字节码文件名。 在这种情况下,jvm将启动,将字节码文件名. class字节码文件加载到内存中,jvm执行内存中的字节码指令

这就像在IDE中单击“运行”按钮一样。

3、内存管理和分配

4、执行垃圾收集,调用垃圾收集器进行垃圾回收

三者的区别和联系

JDK用于开发,用于开发人员,JRE用于运行java程序,JVM用于普通用户。 如果只是运行Java程序,则可以只安装JRE,然后无序地安装JDK。 也就是说,使用JDK开发的java程序交给JRE执行。

JDK包含JRE,JDK和JRE都包含JVM。 JDK也可以说是JRE Java的开发工具。 JRE包含JVM Java语言的核心类库。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。