面試官:服務器安裝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

相關文章
相關標籤/搜索