首页 > 编程知识 正文

接口与抽象类的五大区别,java基础常见面试问题

时间:2023-05-06 06:39:20 阅读:22883 作者:3967

文章前言1、JDK简要介绍2、JRE、JVM4、Java跨平台原因5、JVM运行程序过程6、3的区别和联系

刚开始接触Java的人,经常会看到JDK、JRE、JVM,但一直很模糊,可能不知道真正的意义和作用。 了解JDK、JRE和JVM各自是什么以及它们之间的关系有助于更深入地理解Java语言的特性。

Java程序在JVM(Java虚拟机)上运行,在开发程序之前配置Java开发环境。 配置环境用于安装和配置JDK。

三者的大致结构是这样的,简单来说,就是JDK包含JRE,JRE包含JVM的关系。 如下图所示。

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

JDK通常有三个版本。

se(J2SE )、标准版、标准版、标准版是我们通常使用的ee(J2EE )、企业版、企业版使用此JDK开发J2EE APP应用程序(me ) ) J2EE )

有关JDK安装目录下每个子文件目录和文档角色的详细信息

下图是Java8的JDK安装目录

axdsb文件包含各种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程序的用户。

下图是Java8的JRE安装目录,其中包含两个文件夹axdsb和lib。 请考虑axdsb中的是JVM,lib中的是JVM运行所需的类库,JVM和lib合称为JRE

从JDK11开始,JDK和JRE是一起的,安装后默认没有JRE。 如果需要另一个名为JRE的目录,可以打开JDK目录下的命令窗口并执行以下命令(窗口S10需要目录权限才能生成此JRE ) :

axd sbjlink.exe---module-pathjmods---add-modules Java.desktop---output JRE

运行结束时将生成JRE,但无论是使用tomcat还是使用eclipse,没有JRE文件夹实际上不会影响使用。

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

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

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

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

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

五. jvm运行程序的流程加载. class文件

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

运行class文件

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

这就像在IDE中单击“运行”按钮一样。 管理和分配内存以执行垃圾回收

调用垃圾回收器进行垃圾回收的6、3的区别和联系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 举报,一经查实,本站将立刻删除。