0、JDK、JRE、JVM區別與聯絡
阿新 • • 發佈:2018-11-17
1.基本概念
JVM : 全稱 Java Virtual Machine,即java虛擬機器,是一個用於執行位元組碼的”虛擬計算機”。由於不同的作業系統有不同的虛擬機器,Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。實現了“一次編譯,隨處執行”。 這也是Java虛擬機器實現跨平臺的核心機制。
JRE:全稱Java Runtime Environment,即java執行環境。包含了Java虛擬機器、庫函式、執行Java應用程式所必須的檔案。 注意:只有JVM並不能執行.class檔案,JVM執行.class還需要JRE下的lib類庫的支援(jre裡有執行.class的java.exe
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。
聯絡:
總結:
JVM:將位元組碼檔案轉成具體系統平臺的機器指令。
JRE:JVM+Java語言的核心類庫。
JDK:JRE+Java的開發工具。