安装JDK同时外加安装一个JRE(且JRE不用配置)

    技术2025-02-26  33

    目录

    一、JDK和JRE二、专用JRE和公共JRE三、公共JRE的自动配置

    一、JDK和JRE

    首先我们得知道JDK和JRE的区别 JDK是Java Development Kit,是Java的开发工具包,里面包含了各种类库和工具,因此也肯定包含JRE。 JRE是Java Runtime Environment,是Java程序的运行环境。既然是运行,就会包含JVM(虚拟机) 其结构关系如下:

    可以看到,我们所有下载的IDE(集成开发环境)都会包含这三样东西,如MyEclipse,IntelliJ IDEAJDK是开发工具包,就一定需要编译(javac.exe)和JRE(运行环境),当然也就需要虚拟机JRE只是运行环境,则只需要包含一些类库和虚拟机就可以了

    二、专用JRE和公共JRE

    大家知道,当我们下载JDK时,我们会先选择一个JDK路径,然后还会选择一个JRE路径。可是当我们打开JDK的目录时,我们会看到里面还有一个jre的文件夹,那说明我们下载了两个JRE,这是为什么呢?

    一个比较靠谱的说法是:

    JDK里面的是专用JRE,因为需要专用 JRE 才能运行 JDK 中包含的工具,且专用 JRE 没有注册表设置。后面下载的那是公共 JRE,这个JRE 可由其他 Java 应用程序使用,所以会注册到 Windows 注册表。

    所以当我们下载好JDK时,可以直接在cmd里输入java -version 就能够看到java version(公共JRE的自动配置),如下 而如果我们需要JDK的开发工具包,对java源程序进行编译,此时就需要配置JDK环境了,因为我们要用到javac而这个JRE是没有的。

    三、公共JRE的自动配置

    因此这也解释了为什么我之前安装配置的JDK1.7 而安装好JDK1.8但还没配置环境,在cmd里运行java -version就直接出现了java version 1.8

    其实这也是因为公共JRE的运行环境被自动配置了,这个网上的一些说法是公共JRE的java.exe文件被自动放在了Windows/system32下,但我检查了并没有 我本以为是因为我是64位操作系统,于是查看SysWOW64文件夹,也没有。 但环境配置里还有一句 很明显,这个文件夹就是我的公共JRE的环境配置路径,打开看一下: 很明显,这个修改日期就是我安装JDK 1.8的日期,覆盖了我原来安装java 1.7时安装的公共JRE相关的exe文件(java运行环境文件)。 OK,now We’ve found out some details.

    Processed: 0.011, SQL: 9