1. 程式人生 > >0、JDK、JRE、JVM區別與聯絡

0、JDK、JRE、JVM區別與聯絡

1.基本概念

JVM : 全稱 Java Virtual Machine,即java虛擬機器,是一個用於執行位元組碼的”虛擬計算機”。由於不同的作業系統有不同的虛擬機器,Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。實現了“一次編譯,隨處執行”。 這也是Java虛擬機器實現跨平臺的核心機制。

å¾ç8.png

JRE:全稱Java Runtime Environment,即java執行環境。包含了Java虛擬機器、庫函式、執行Java應用程式所必須的檔案。 注意:只有JVM並不能執行.class檔案,JVM執行.class還需要JRE下的lib類庫的支援(jre裡有執行.class的java.exe

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

JDK:全稱Java Development Kit,即java開發工具包。包含JRE,Java基礎的類庫以及一大堆java工具(編譯器javac和偵錯程式等)。

JDK目錄下面主要包含四個主要的資料夾(bin、include、lib、 jre)、一個src類庫原始碼壓縮包、和其他幾個宣告檔案。其中四個資料夾作用(注意這裡bin和lib和JRE裡的是不同的):

  • bin:最主要的是編譯器(javac.exe) 
  • include:java和JVM互動用的標頭檔案 
  • lib:類庫 
  • jre:java執行環境

2.區別與聯絡

區別:

JDK有javac.exe用來將java檔案編譯成class檔案,是開發者所需要的而使用者不需要。

JRE有java.exe用來執行.class檔案,是程式的執行環境。

JVM解析JRE中執行的位元組碼檔案,對映到CPU指令集或OS的系統呼叫。

總結:

1.如果只是要執行Java程式,只需要JRE就可以。JRE通常非常小,其中包含了JVM。

2.如果要開發Java程式,就需要安裝JDK。

聯絡:

å¾ç7.png

總結:

JVM:將位元組碼檔案轉成具體系統平臺的機器指令。 
JRE:JVM+Java語言的核心類庫。 
JDK:JRE+Java的開發工具。