1. 程式人生 > 其它 >關於JDK,JRE,JVM三者的關聯以及區別

關於JDK,JRE,JVM三者的關聯以及區別

有Java程式設計經驗的程式設計師應該都知道:Java程式是執行在JVM(Java虛擬機器)上的,在開發程式之前都要配置Java開發環境,其中首先要做的就是JDK的安裝和配置,那麼JDK、JVM、JRE到底有何聯絡和區別呢?

參考連結:https://www.cnblogs.com/bingyimeiling/p/10266949.html

首先,我們分別對這三者做一個簡單闡述介紹。

JDK(Java Development Kit) 是 Java 語言的軟體開發工具包(SDK)。它提供了編譯、執行Java程式所需的各種工具和資源,包括Java編譯器、Java執行時環境,以及常用的Java類庫等。 在JDK的安裝目錄下有一個jre目錄,如下圖所示,裡面有兩個資料夾bin和lib,在這裡可以認為bin裡的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib合起來就稱為jre。

        JDK的安裝目錄

JRE(Java Runtime Environment,Java執行環境),包含JVM標準實現及Java核心類庫。JRE是Java執行環境,並不是一個開發環境,所以沒有包含任何開發工具(如編譯器和偵錯程式)。

下圖是JRE的安裝目錄:裡面有兩個資料夾bin和lib,在這裡可以認為bin裡的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。

JVM是Java Virtual Machine(Java虛擬機器)的縮寫,JVM是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。

當使用Java編譯器編譯Java程式時,生成的是與平臺無關的位元組碼,這些位元組碼只面向JVM。不同平臺的JVM都是不同的,但它們都提供了相同的介面。JVM是Java程式跨平臺的關鍵部分,只要為不同平臺實現了相應的虛擬機器,編譯後的Java位元組碼就可以在該平臺上執行。

可以看出:這三者的關係是一層層的巢狀關係。即JDK>JRE>JVM。

總結:

  1. JDK 用於開發,JRE 用於執行java程式 ;如果只是執行Java程式,可以只安裝JRE,無序安裝JDK。
  2. JDk包含JRE,JDK 和 JRE 中都包含 JVM。
  3. JVM 是 java 程式語言的核心並且具有平臺獨立性