什么是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 就行了。

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

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

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

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

服务器上只安装JRE的前提

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

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

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

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

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

  • 可以编译java文件,方便后期维护

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

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

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

-----

公众号@编程大道,欢迎关注

转载于:https://www.cnblogs.com/ibigboy/p/11184106.html

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

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

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

  2. 面试官给我挖坑:单台服务器并发TCP连接数到底可以有多少 ?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"k8s"领取阿里云<深入浅出k8s.pdf> 欢迎跳转到本文的原文链接:h ...

  3. 华为云服务器默认jdk版本,华为云服务器centos7.3 安装jdk

    1. 进入oracle官网 服务器是64位的 下载到本地,登陆服务器,进入/usr/local/soft 目录,将下载好的jdk上传到该目录下解压 然后进入 jdk解压目录,pwd,把jdk解压路径复 ...

  4. linux java jre下载_linux下安装jre运行环境

    上官网下载安装文件:点击打开链接 文件名:jre-8u65-linux-x64.gz 安装步骤 1.解压tar -xzvf jre-8u65-linux-x64.gz 2.将解压后的文件放到/usr/ ...

  5. 面试官:什么是静态代理?什么是动态代理?注解、反射你会吗?

    前言 开场 一位穿着蓝色衬衫,牛仔裤,拿着一个白色保温杯的中年男子急匆匆地坐在你对面,看样子是项目上的东西很急,估摸面试时间不会太长,这样一想心情放松了许多-(后来我就被打脸了) ​ ​ 面试开始 面 ...

  6. java面试mysql的引擎_面试官:你用过mysql哪些存储引擎,请分别展开介绍一下

    这是高级开发者面试时经常被问的问题.实际我们在平时的开发中,经常会遇到的,在用SQLyog等工具创建表时,就有一个引擎项要你去选.如下图: Mysql的存储引擎有这么多种,实际我们在平时用的最多的莫过 ...

  7. 字节3-1前端面试官自学Vue的正确姿势

    大家好,我是若川. 前不久和一个字节前端TL朋友聊天,说到大厂前端供需脱节的情况.特别是使用Vue框架的,因为简单易学好上手,但是能够深入理解的人并不多,大多都只停留在应用层面,缺乏更深层面的理解. ...

  8. 我以为我对Mysql索引很了解,直到我遇到了阿里的面试官

    GitHub 4.8k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 4.8k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 4.8k Star 的 ...

  9. 你以为你懂MySQL索引?阿里的面试官:你还太嫩!

    相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构. 因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高.楼主 ...

最新文章

  1. react中使用构建缓存_完整的React课程:如何使用React构建聊天室应用
  2. python使用 GPUs
  3. 第一代电子计算机主机是,以 计算机主机是由CPU与哪种设备共同构成的 为第一题的100道题的答案...
  4. node制作http服务器,NodeJS 搭建 HTTP 服务器
  5. p1口实验_「正点原子NANO STM32开发板资料连载」第二章 实验硬件资源详解
  6. 新版quartus_prime破解与altera官网下载器件库
  7. 1200兆路由器网速_1200m路由器有必要吗 只要我们选择5GHz频段就可
  8. wo-27s管理员账户和密码_“无法使用内置管理员账户打开”应用
  9. 虚拟机Linux下如何查看自己的IP地址
  10. Shell版本循环语句(if//for/while/case)
  11. homeassistant core安装方式无HACS插件成功解决(记录)
  12. 视频教程-系统集成项目管理工程师考试-技术部分-软考
  13. 248Echarts - 3D 曲面(Parametric Surface Rose)
  14. ThingsBoard 3.3.1源码编译-windows版
  15. ITopologicalOperator Intersect
  16. 中科曙光I620-G15服务器登录密码破解
  17. 用python画国旗的程序_用python画的五星红旗
  18. vue中MVVM模型
  19. 最坏情况为线性时间的选择算法(SELECT)
  20. Systrace之 input 解读

热门文章

  1. P7909 [CSP-J 2021] 分糖果 方法二
  2. 1.5编程基础之循环控制 01 求平均年龄
  3. 第58课 百钱买百鸡(完整) 3.完善程序 (《小学生C++趣味编程》)
  4. 如何实现轮播图的内容的多少随div的大小动态变化_小程序学习日志8:swiper滑动轮播组件(轮播图)(上)...
  5. ecshop使用php代码,ecshop 修改模板可输出php代码
  6. Web前端文档阅读笔记-vis.js在vue cli中的使用
  7. Qt可执行程序写入版本信息
  8. 平衡二叉树的实现原理
  9. 5.3矩阵的压缩存储(稀疏矩阵转置和快速转置)
  10. 奥拉星插件flash下载手机版下载安装_奥拉星游戏插件