JDK,JRE,JVM

看i-210162704018發表於2024-07-25

目錄
  • JDK,JRE,JVM
    • JDK:Java Development Kit
    • JRE:Java Runtime Environment
    • JVM:Java Virtual Machine
    • JDK、JRE和JVM之間的關係
    • JDK、JRE和JVM的區別


JDK,JRE,JVM

JDK:Java Development Kit

JDK(Java Development Kit) 是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。

JDK是java開發工具包,基本上每個學java的人都會先在機器 上裝一個JDK,那他都包含哪幾部分呢?在目錄下面有 六個資料夾、一個src類庫原始碼壓縮包、和其他幾個宣告檔案。其中,真正在執行java時起作用的 是以下四個資料夾:bin、include、lib、 jre。有這樣一個關係,JDK包含JRE,而JRE包 含JVM。

  • bin:最主要的是編譯器(javac.exe)

  • include:java和JVM互動用的標頭檔案

  • lib:類庫

  • jre:java執行環境

JRE:Java Runtime Environment

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

JRE是指java執行環境。光有JVM還不能成class的 執行,因為在解釋class的時候JVM需要呼叫解釋所需要的類庫lib。(jre裡有執行.class的java.exe)

JRE ( Java Runtime Environment ),是執行 Java 程式必不可少的(除非用其他一些編譯環境編譯成.exe可執行檔案……),JRE的 地位就象一臺PC機一樣,我們寫好的Win64應用程式需要作業系統幫 我們執行,同樣的,我們編寫的Java程式也必須要JRE才能執行。

JVM:Java Virtual Machine

JVM(Java Virtual Machine),即java虛擬機器, java執行時的環境,JVM是一種用於計算裝置的規範,它是一個虛構出來的計算機,是透過在實際的計算機上模擬模擬各種計算機功能來實現的。針對java使用者,也就是擁有可執行的.class檔案包(jar或者war)的使用者。裡面主要包含了jvm和java執行時基本類庫(rt.jar)。rt.jar可以簡單粗暴地理解為:它就是java原始碼編譯成的jar包。Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。這就是Java的能夠“一次編譯,到處執行”的原因。

JDK、JRE和JVM之間的關係

JDK包含JRE,而JRE又包含JVM。

  • JDK是為了滿足Java開發人員的需要而建立的,其中包含開發工具和JRE。因此,如果你需要編寫Java程式,那麼你需要JDK。

  • JRE是為了執行那些已經編寫好的Java程式而建立的,JRE中包含有JVM和Java類庫,但是並不包含其他開發工具,因此,如果你只需要執行Java程式,那麼你只需要JRE就可以了。

  • JVM就像一個橋樑,它負責將我們編寫的Java程式碼(人類可以理解的)轉化為機器可以執行的機器程式碼。

JDK、JRE和JVM的區別

JDK是開發工具,它讓程式設計師編寫Java程式。
JRE是執行環境,它讓編寫好的Java程式可以被執行。
JVM則是JRE的一部分,位於程式執行的最前沿,將位元組碼轉化為機器代

相關文章