面试官:服务器安装JDK仍是JRE?能够只安装JRE吗?

前些日子有网友面试时被问到如题所示的问题,因为他以前没有准备到这些最最基础的知识,没有考虑过这个问题,因此被问到时竟一脸萌币,回答的不是很好。这道题主要考的是对 Java 基础知识的了解,有些同窗可能已经忘了。因此如今咱们一块儿来分析下。java

JDK和JRE是什么?

在回答这个问题以前咱们先来看看什么是JDK什么是JRE?以及JDK和JRE的关系。面试

咱们看一下来自百度百科的解释:服务器

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。--百度百科 JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。--百度百科工具

《深刻理解Java虚拟机:JVM高级特性与最佳实践(第2版)》:学习

咱们能够把Java程序设计语言、Java虚拟机、Java API 类库这三部分统称为 JDK(Java Development Kit),JDK 是用于支持 Java 程序开发的最小环境...另外,能够把 Java API 类库中的 Java SE API 子集和 Java 虚拟机这两部分统称为 JRE(Java Runtime Environment),JRE 是支持 Java 程序运行的标准环境。-《深刻理解Java虚拟机:JVM高级特性与最佳实践(第2版)》开发工具

书中一样提到了Java 技术体系所包含的内容及 JDK 和 JRE 所涵盖范围:设计

(网图,侵删)

两者的关系

根据如上所说,咱们能够总结出以下图所示的 JDK 和 JRE 的关系图:调试

也就是说JDK包含了JRE,这一点咱们能够证明,在安装JDK的目录下找到JRE的文件夹:

JDK(Java Development Kit)是咱们学习 Java 首先要安装的软件,值得注意的是 JDK 安装完成以后,安装向导会询问你是否安装 JRE(Java Runtime Environment),还要不要安装呢?知道 JDK 和 JRE 是什么关系后回答这个问题就不难了吧。

也就是说,当你安装 JDK 完成后已经默认安装了 JRE ,由于安装完 JDK 确定是要开发的吧,开发就要运行 Java 程序,因此 JDK 包含了 Java 的运行环境 JRE。若是你只是单纯的要运行 Java 程序而不进行开发、调试等,那么就只须要安装 JRE 就好了。cdn

因此上文提到的问题,对于开发人员来讲安装完JDK后就不须要再安装JRE了。blog

服务器上是否只安装JRE就能够了?

另一个问题,既然如此,那么在服务器上是否只安装JRE就能够了?

理论上是能够的,可是有前提条件。

服务器上只安装JRE的前提:

  • 发布到服务器上时全部文件都是编译好的文件,包括JSP文件

  • 后期不在服务器上直接修改(由于致使修改后的文件未从新编译)

若是部署的项目都是编译后从新部署,不在服务器上直接修改的话是能够只安装 JRE 的。

注意:若是存在未编译的 Java 源文件,或者在服务器上修改源文件,服务器就须要安装 JDK。

在服务器上安装JDK的好处:

  • 能够编译java文件,方便后期维护

  • 保证JSP文件修改后稳定运行

综合考虑,为避免之后这样那样的麻烦事发生,服务器上仍是安装JDK吧!毕竟项目后期维护才是主要的事情。

有了以上的分析,相信面试官再问你这样的问题你该知道怎么回答了吧。


原文连接:zhuanlan.zhihu.com/p/79527556

相关文章
相关标签/搜索