面試官:什麼是JDK什麼是JRE?伺服器可以只安裝JRE嗎?

為何不是夢發表於2019-07-14

什麼是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吧!畢竟專案後期維護才是主要的事情。

相關文章