JDK,JRE和JVM的區別與聯繫

1.概念:

  • JDK(Java Development Kit)即Java開發工具包。是Java開發環境的核心組件,爲Java程序編譯,運行和調試提供所有工具,可執行文件和二進制文件,是一個平臺特定的軟件。JDK目錄下包含六個文件夾、一個src類庫源碼壓縮包、和其他幾個聲明文件。其中,真正在運行java時起作用的 是以下四個文件夾:bin、include、lib、 jre。

      bin:最主要的是編譯器(javac.exe)
      include:java和JVM交互用的頭文件
      lib:類庫
     jre:java運行環境

  • JRE(Java Runtime Environment)即Java運行環境。包含JVM標準實現及Java核心類庫。因爲JRE是Java運行環境,只包含JVM(jre裏有運行.class的java.exe),不包含編譯器/調試器這樣的開發工具。
    JRE可類比爲一臺計算機,Win64應用程序需要操作系統運行,同樣,Java程序需要JRE才能運行。
  • JVM(Java Virtual Machine),即java虛擬機, 一個虛構出來的計算機,裏面主要包含了jvm和java運行時基本類庫, Java虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。當我們運行一個程序時,JVM負責將字節碼轉換爲特定機器代碼,JVM提供了內存管理/垃圾回收和安全機制等。這就是Java的能夠“一次編譯,到處運行”的原因。

2.區別 

JDK是開發環境, 爲java程序提供編譯,運行和調試工具,包含JRE。

JRE是運行環境,運行.class文件,包含JVM。

JVM是Java虛擬機,負責將字節碼轉換爲特定機器代碼,JVM提供了內存管理/垃圾回收和安全機制等。

Java執行過程:我們利用JDK(調用JAVA API)開發了屬於我們自己的JAVA程序後,通過JDK中的編譯程序(javac)將我們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解析這些字節碼,映射到CPU指令集或OS的系統調用。

 3.聯繫

JVM+lib = JRE

JRE + (bin,lib,include...) = JDK

4.圖解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章