每日一面:1. JDK 、 JRE 、JVM有什么区别和联系?

如题所述

首先,我们来分解这三个术语。

JVM,全称为Java Virtual Machine,是Java虚拟机,它能识别并执行类文件中的字节码指令。JVM是Java实现跨平台的核心,是Java程序运行的基础。

JRE,全称为Java Runtime Environment,即Java运行时环境,由JVM的标准实现和Java的基本类库构成。相对于JVM,JRE增加了Java类库。

JDK,全称为Java Development Kit,即Java开发工具包,是Java开发的核心,包括JRE和一些实用工具,如javac.exe、java.exe、jar.exe等。

从关系上看,JDK包含JRE,JRE又包含JVM,形成嵌套结构。

那么,JDK和JRE的区别呢?JDK是Java开发环境的集合,包含JRE和Java编译器、调试工具等。JRE是Java运行环境,提供Java程序运行所需环境。如果仅需运行Java程序,安装JRE即可;若需编写程序,则需安装JDK。

关于为什么电脑装完JDK会有两个版本的JRE,其实它们是同一个。在JDK安装目录下,JDK和JRE实际上是同一个版本。许多人习惯于单独安装JRE,但其实它们是相同的,选择安装哪个版本都可以。

在JDK的bin目录下,存放的是可执行文件,如javac.exe,其实它们只是入口,内部调用的是JDK中lib目录下的com.sun.tools.javac.Main类,这些工具都是由Java编写的。JRE在这个目录下提供了这些工具的运行环境,同时也提供了Java程序运行的环境。

若非开发环境,仅需部署和运行Java程序,可只安装JRE,无需安装JDK。

关于Java的跨平台特性,核心在于JVM。Java代码编译后的字节码,由JVM解释执行,实现代码在不同操作系统上的一致执行。不同操作系统有不同版本的JVM,但同一段字节码在不同JVM上映射到各自系统API调用,实现代码跨平台运行。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜