當前位置:妙知谷 >

遊戲數碼 >電腦 >

JDK、JRE、JVM有什麼區別?有什麼關係?

JDK、JRE、JVM有什麼區別?有什麼關係?

新學java的朋友可能分不清JDK、JRE、JVM的區別,下面詳細介紹一下

JDK、JRE、JVM有什麼區別?有什麼關係?

英文全稱與含義

(01)JDKJDK:Java Development Kit含義:Java開發工具包

JDK、JRE、JVM有什麼區別?有什麼關係? 第2張

(02)JRE全名:Java runtime environment含義:Java運行環境

JDK、JRE、JVM有什麼區別?有什麼關係? 第3張

(03)JVM全名:Java Virtual Machine含義:Java虛擬機

JDK、JRE、JVM有什麼區別?有什麼關係? 第4張

使用的人羣

(01)JDK是給開發人員用的,JRE和JVM是普通用户用的。

詳細介紹

(01)JDKJDK是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 包括)。①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。

(02)JRE是運行基於Java語言編寫的程序所不可缺少的運行環境。也是通過它,Java的開發者才得以將自己開發的程序發佈到用户手中,讓用户使用。JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,這些是運行Java程序的必要組件。與大家熟知的JDK不同,JRE是Java運行環境,並不是一個開發環境,所以沒有包含任何開發工具(如編譯器和調試器),只是針對於使用Java程序的用户。

(03)JVM就是我們常説的java虛擬機,它是整個java實現跨平台的最核心的部分,所有的java程序會首先被編譯為s的類文件,這種類文件可以在虛擬機上執行。也就是説class並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。只有JVM還不能成class的執行,因為在解釋class的時候JVM需要調用解釋所需要的類庫lib,而jre包含lib類庫。JVM屏蔽了與具體操作系統平台相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平台上不加修改地運行。

JDK、JRE、JVM有什麼區別?有什麼關係? 第5張

三者之間的關係

(01)簡單來説就是JDK包含JRE,JRE又包含JVM的關係。

JDK、JRE、JVM有什麼區別?有什麼關係? 第6張
標籤: JDK JRE jvm
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/v0q643.html