前些日子有朋友面试时被问到如题所示的问题,由于他之前没有准备到这些最最基础的知识,没有考虑过这个问题,所以被问到时竟一脸萌币,回答的不是很好。这道题主要考的是对 Java 基础知识的了解,现在我们一起来分析下。

01 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 所涵盖范围:

02 二者的关系

根据如上所说,我们可以总结出如下图所示的 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 就行了。

所以上文提到的问题,对于开发人员来说安装完JDK后就不需要再安装JRE了。

03 服务器上是否只安装JRE就可以了?

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

理论上是可以的,但是有前提条件。

(1)服务器上只安装JRE的前提

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

后期不在服务器上直接修改(因为导致修改后的文件未重新编译)

如果部署的项目都是编译后重新部署,不在服务器上直接修改的话是可以只安装 JRE 的。

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

(2)在服务器上安装JDK的好处

  • 可以编译java文件,方便后期维护
  • 保证JSP文件修改后稳定运行

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

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

面试官:服务器安装JDK还是JRE?可以只安装JRE吗?相关推荐

  1. 面试官:什么是JDK什么是JRE?服务器可以只安装JRE吗?

    什么是JDK什么是JRE?JDK和JRE的关系 我们看看来自百度百科的解释: JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心 ...

  2. Java配置JDK环境变量、自动安装JRE(详细)

    写在前面(什么是JDK.JRE) 1.JDK:即Java开发工具包. 2.JRE:即Java运行环境. 一.下载并配置 JDK  1.在官网上找到自己需要下载的java开发工具包JDK,地址如下:   ...

  3. jdk开发文档_【第9期】面试官:JDK、JRE、JVM 三者什么关系?

    这个题目在面试题中基本没怎么出现,但在笔试题中倒是经常见到.所以还是有必要拉出来溜溜~ JDK: java development kit, java开发工具包,用来开发Java程序的,针对java开 ...

  4. 面试官 | Oracle JDK 和 OpenJDK 有什么区别?

    作者 | petercao 来源 | urlify.cn/yAn6ru OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的"开源"是通常意义上的源码开放形式,即 ...

  5. linux安装多个jre,linux 下安装 jre

    本文链接:https://blog.csdn.net/qq_34368587/article/details/79559102 Linux下安装Java运行环境 现需要项目部署到Linux中,需要配置 ...

  6. 面试官说我离高薪 offer 只差一个Redis入门,他是认真的

    说起来,可能有些小伙伴会不相信,我是第一次用 Redis,真的.因为公司小,业务量小,Redis 根本派不上用场.不过,最近打算把系统升级一下,顺带把当下时髦的技术入个门,"与时俱进&quo ...

  7. BAT程序员面试小公司遭拒绝,面试官:统筹能力差,只适合流水线

    BAT,B指百度.A指阿里巴巴.T指腾讯,是中国互联网公司百度公司(Baidu).阿里巴巴集团(Alibaba).腾讯公司(Tencent)三大互联网公司首字母的缩写.你能进入BAT,那么肯定的是你绝 ...

  8. JVM00_面试官对类加载器子系统、运行时数据区、内存分布、执行引擎的灵虚拷问,你能坚持到第几问?

    因为热爱所以坚持,因为热爱所以等待.熬过漫长无戏可演的日子,终于换来了人生的春天.他逐渐被人熟知,被人喜爱 三年前,在苏州园区某个国企面试,第一道题目便是:JVM是什么吗?然后就是拿着笔试题目被面试官 ...

  9. 被面试官侮辱后,我决定通宵研究JVM!

    文章大纲 什么是JVM (一): JVM (二): JAVA为什么说是"平台无关的编程语言" (三): JVM内部结构 一:类加载器(Class Loader) 二:执行引擎(Ex ...

最新文章

  1. 20款效果非常棒的 jQuery 插件分享
  2. java之集合框架一Collection接口
  3. Adobe Auditon使用功能(一):将音频文件切分成多段,并将每段音频分别保存到不同的文件中
  4. CentOS-6.3安装配置SVN
  5. xshell 打开文件跳转到最后_xshell的快捷键(非常实用)
  6. [云炬创业学笔记]第二章决定成为创业者测试14
  7. 电脑安装android2.0,电脑上怎么安装使用安卓系统
  8. 从零开始实现主成分分析(PCA)算法
  9. 旅行商问题c语言,【算法作业】用回溯法求解旅行商问题
  10. AI应用开发基础傻瓜书系列3-损失函数
  11. 2017.10.26 四校联测D1
  12. alpine linux安装java,alpinelinux安装openjre
  13. 浏览器中的事件循环机制
  14. android xml反编译原理,记一次resources.arsc文件hex修改原理分析
  15. Python中的*self,*self._args, **kwargs
  16. 深度学习 | MATLAB卷积神经网络原理描述
  17. 普及一下IPTV行业
  18. python八皇后问题递归算法_八皇后问题--递归回溯算法(Python实现)
  19. [读书笔记]Spring中的容器设计详解
  20. EXCEL实用技巧-多条件求和、多条件计数、多条件查找

热门文章

  1. DASCTF 7月赋能赛pwn wp
  2. 2022-01-19 微信小程序-萌宠大作战项目(一) 项目思路和效果,map组件的介绍和使用,视图容器cover-image,首页的制作
  3. Python五子棋小游戏源代码,支持人机对战和局域网对战两模式
  4. PBOC代码回顾(1)
  5. SaaSBase:最受欢迎的协同办公软件有哪些(下篇)
  6. 信息化项目投标不知道准备哪些证书?看这篇就够了!
  7. 【Python运行报错】yaml.parser.ParserError: while parsing a block collection
  8. maftools :MAF文件可视化工具
  9. 不扯线也能上网 华为移动路由器Pro,四种上网方案随你选
  10. 邯郸市高新技术企业申报奖励补助以及认定条件细则