JDK、JRE、JVM三者間的關係

  

  文章出處:http://playkid.blog.163.com/blog/static/56287260201372113842153/java

  JDK(Java Development Kit)是針對Java開發員的產品,是整個Java的核心,包括了Java運行環境JRE、Java工具和Java基礎類庫。Java Runtime Environment(JRE)是運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。JVM是Java Virtual Machine(Java虛擬機)的縮寫,是整個java實現跨平臺的最核心的部分,可以運行以Java語言寫做的軟件程序。app

     JDK、JRE、JVM三者的區別與聯繫 - 以德糊人 - ——挨踢民工 Playkid——

  在計算機開發語言的歷史中,歷來沒有哪一種語言象Java那樣受到如此衆多廠商的支持,有如此多的開發工具。jvm

  

  JDK(Java Development Kit)
  JDK是Java開發工具包,是Sun Microsystems針對Java開發員的產品。
  JDK中包含JRE,在JDK的安裝目錄下有一個名爲jre的目錄,裏面有兩個文件夾bin和lib,在這裏能夠認爲bin裏的就是jvm,lib中則是jvm工做所須要的類庫,而jvm和 lib和起來就稱爲jre。
  JDK是整個JAVA的核心,包括了Java運行環境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。
  ①SE(J2SE),standard edition,標準版,是咱們一般用的一個版本,從JDK 5.0開始,更名爲Java SE。
  ②EE(J2EE),enterprise edition,企業版,使用這種JDK開發J2EE應用程序,從JDK 5.0開始,更名爲Java EE。
  ③ME(J2ME),micro edition,主要用於移動設備、嵌入式設備上的java應用程序,從JDK 5.0開始,更名爲Java ME。
   JDK、JRE、JVM三者的區別與聯繫 - 以德糊人 - ——挨踢民工 Playkid——
  
   金字塔結構 JDK=JRE+JVM+其它 運行Java程序通常都要求用戶的電腦安裝JRE環境(Java Runtime Environment);沒有jre,java程序沒法運行;而沒有java程序,jre就沒有用武之地。
 
   Java Runtime Environment(JRE)
  是運行基於Java語言編寫的程序所不可缺乏的運行環境。也是經過它,Java的開發者才得以將本身開發的程序發佈到用戶手中,讓用戶使用。
  JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,這些是運行Java程序的必要組件。
  與你們熟知的JDK不一樣,JRE是Java運行環境,並非一個開發環境,因此沒有包含任何開發工具(如編譯器和調試器),只是針對於使用Java程序的用戶。
 
 
   JVM(java virtual machine)
  就是咱們常說的java虛擬機,它是整個java實現跨平臺的最核心的部分,全部的java程序會首先被編譯爲.class的類文件,這種類文件能夠在虛擬機上執行。
  也就是說class並不直接與機器的操做系統相對應,而是通過虛擬機間接與操做系統交互,由虛擬機將程序解釋給本地系統執行。
  只有JVM還不能成class的執行,由於在解釋class的時候JVM須要調用解釋所須要的類庫lib,而jre包含lib類庫。
  JVM屏蔽了與具體操做系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就能夠在多種平臺上不加修改地運行。
相關文章
相關標籤/搜索