JDK、JRE、J2SE SDK

lusklusklusk發表於2017-01-10
Jdk:java development kit
Jre:java runtime environment
J2SE SDK:JAVA 2 Standard Edition Software development kit
J2EE SDK:JAVA 2 Enterprise Edition Software development kit

JDK=JRE+開發工具集(例如javac編譯工具等)
JRE=JVM+java標準類庫
J2SE SDK可以認為說的就是JDK


JDK,開發java程式用的開發包,JDK裡面有java的執行環境(JRE),JRE裡面有client端和server端,需要配置環境變數
JRE,執行java程式的環境,JVM,JRE裡面只有client執行環境,安裝過程中,會自動新增PATH

j2se:Java 2 Standard Edition,從JDK 5.0開始,改名為Java SE。
j2ee:Java 2 Enterprise Edition,從JDK 5.0開始,改名為Java EE。


JDK目錄:bin(javac、java)、include、lib、 jre
JRE目錄:bin(java)、lib

只安裝JDK
JDK\JRE\BIN\SERVER\jvm.dll
JDK\JRE\BIN\CLIENT\jvm.dll


只安裝JRE
JRE\BIN\CLIENT\jvm.dll





JRE(java runtime environment),就是java程式的執行環境。你所寫的java程式在經過javac編譯後會形成字元行檔案,這個java的中間檔案,計算機是看不懂的,而這個檔案是給jvm(java的虛擬機器)用的,由jvm進行解釋後形成機器語言給計算機。而這個jvm就在jre中,也就是說java程式的執行要有jre來擔當。所以jdk和jre的區別就是一個用於開發,一個用於執行,你就執行java程式,那麼用jre就足夠了


大家肯定在安裝JDK的時候會有選擇是否安裝單獨的JRE,一般都會一起安裝,我也建議大家這樣做。因為這樣更能幫助大家弄清楚它們的區別: 

Jre 是java runtime environment, 是java程式的執行環境。既然是執行,當然要包含jvm,也就是大家熟悉的虛擬機器啦,還有所有java類庫的class檔案,都在lib目錄下打包成了jar。jre/bin/client/jvm.dll呢?那就是虛擬機器。 

Jdk 是java development kit,是java的開發工具包,裡面包含了各種類庫和工具。當然也包括了另外一個Jre. 那麼為什麼要包括另外一個Jre呢?而且jdk/jre/bin同時有client和server兩個資料夾下都包含一個jvm.dll。說明是有兩個虛擬機器的。jdk與jre的bin目錄最明顯的區別就是jdk下才有javac(java compiler),這一點很好理解,因為 jre只是一個執行環境而已。與開發無關,正因為如此,具備開發功能的jdk自己的jre下才會同時有client性質的jvm和server性質的 jvm,而僅僅作為執行環境的jre下只需要client性質的jvm.dll就夠了。 



環境變數path中預設設定的是jre/bin目錄

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2132170/,如需轉載,請註明出處,否則將追究法律責任。

相關文章