j2se sdk和j2EE sdk,JDK,JKE的區別

encienqi發表於2011-05-22

j2se:   Java   2   Standard       Edition是java標準版  ,se是標準版平臺
j2ee:   Java   2   Enterprise   Edition是java企業版   ,它除了包含標準版(se)中的任何元件,還增加了附加庫;
J2EE
J2EE   technology   and   its   component   based   model   simplifies   enterprise   development   and   deployment.The   J2EE   platform   manages   the   infrastructure   and   supports   the   Web   services   to   enable   development   of   secure,   robust   and   interoperable   business   applications.

j2ee是java的企業版本,它是標準版本之上的擴充套件。採用包括應用伺服器在內的三層架構。主要用於電子商務和企業與企業電子商務互連。有jsp,servlet,ejb等規範
j2se是基礎類庫,j2ee是框架,企業做web應用時通常要考慮到很多問題,比如效能問題(POOL的應用),擴充套件性,分散式相關交易,重用,事務等等,為了使企業的架構更加完美,更加穩定,效率更高,很多大的開發團隊都會想辦法解決上述問題,SUN以及其他的分散式領導廠商意識到不久的將來每個開發團隊都會重複創造出自己專用的解決方案,所以才衍生出J2EE架構,為了是使這些開發團隊能夠快速的實現上述解決方案,而把主要的精力放在業務流程上,應該差不多懂了吧。

 

簡單的說JDK是面向開發人員使用的SDK,它提供了Java的開發環境和執行環境。SDK是Software Development Kit 一般指軟體開發包,可以包括函式庫、編譯程式等。
JDK就是Java Development Kit
JRE是Java Runtime Enviroment是指Java的執行環境,是面向Java程式的使用者,而不是開發者。

如果安裝了JDK,會發同你的電腦有兩套JRE,一套位於 /jre 另外一套位於 C:/Program Files/Java/j2re1.4.1_01 目錄下,後面這套比前面那套少了Server端的Java虛擬機器,不過直接將前面那套的Server端Java虛擬機器複製過來就行了。而且在安裝JDK可以選擇是否安裝這個位於 C:/Program Files/Jav a 目錄下的JRE。如果你只安裝JRE,而不是JDK,那麼只會在 C:/Program Files/Java 目錄下安裝唯一的一套JRE。

JRE的地位就象一臺PC機一樣,我們寫好的 Win32應用程式需要作業系統幫我們執行,同樣的,我們編寫的Java程式也必須要JRE才能執行。所以當你裝完JDK後,如果分別在硬碟上的兩個不同地方安裝了兩套JRE,那麼你可以想象你的電腦有兩臺虛擬的Java PC機,都具有執行Java程式的功能。所以我們可以說,只要你的電腦安裝了JRE,就可以正確執行Jav a應用程式。

1、為什麼Sun要讓JDK安裝兩套相同的JRE?這是因為JDK裡面有很多用Java所編寫的開發工具(如javac.exe、jar.exe等),而且都放置在 /lib/tools.jar 裡。從下面例子可以看出,先將tools.jar改名為tools1.jar,然後執行javac.exe,顯示如下結果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 這個意思是說,你輸入javac.exe與輸入 java -cp c:/jdk/lib/tools.jar com.sun.tools.javac.Main 是一樣的,會得到相同的結果。從這裡我們可以證明javac.exe只是一個包裝器(Wrapper),而製作的目的是為了讓開發者免於輸入太長的指命。而且可以發現/lib目錄下的程式都很小,不大於2 9K,從這裡我們可以得出一個結論。就是JDK裡的工具幾乎是用Java所編寫,所以也是Java應用程式,因此要使用JDK所附的工具來開發Java程式,也必須要自行附一套JRE才行,所以位於C:/Program Files/Java目錄下的那套JRE就是用來執行一般Java程式用的。

2、如果一臺電腦安裝兩套以上的JRE,誰來決定呢?這個重大任務就落在java.exe身上。Java.exe的工作就是找到合適的JRE來執行 Java程式。 Java.exe依照底下的順序來查詢JRE:自己的目錄下有沒有JRE;父目錄有沒有JRE;查詢登錄檔: [HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment] 所以java.exe的執行結果與你的電腦裡面哪個JRE被執行有很大的關係。

3、介紹JVM JRE目錄下的Bin目錄有兩個目錄:server與client。這就是真正的jvm.dll所在。 jvm.dll無法單獨工作,當jvm.dll啟動後,會使用explicit的方法(就是使用Win32 API之中的LoadLibrary()與GetProcAddress()來載入輔助用的動態連結庫),而這些輔助用的動態連結庫(.dll)都必須位於jvm.dll所在目錄的父目錄之中。因此想使用哪個JVM,只需要設定PATH,指向JRE所在目錄底下的jvm.dll。

相關文章