j2se sdk和j2EE sdk,JDK,JKE的區別
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。
相關文章
- JDK、JRE、J2SE SDKJDK
- SDK和API的區別?API
- J2SE J2EE J2ME的區別
- SDK、JDK、JRE 和JVM 之間的關係JDKJVM
- 關於Platform SDK和Windows SDKPlatformWindows
- Android Studio怎樣更改JDK和SDK的路徑?AndroidJDK
- 美顏SDK是什麼?美顏SDK和美顏APP有什麼區別?APP
- API 和 SDKAPI
- JDK和JRE的區別 .JDK
- jdk和jre的區別JDK
- 即時通訊sdk版和整合版都有什麼區別呢
- mac下配置JDK,SDK,NDK和ADB環境變數MacJDK變數
- Android sdk版本號和API級別的對照表AndroidAPI
- jdk1.4和jdk1.5的有那些區別JDK
- 逆向iOS SDK -- _UIImageAtPath 的實現(SDK 6.1)iOSUI
- JRE 和 JDK 的區別詳解JDK
- Jdk代理和CGLIB代理的區別JDKCGLib
- 分析J2SE和J2EE的Java剖析程式JProfilerJava
- 瀏覽器SVG的Javascript SDK庫: Ample SDK瀏覽器SVGJavaScript
- Dart SDK在Flutter SDK中的儲存路徑DartFlutter
- Dubbo和JDK的SPI究竟有何區別?JDK
- 動態代理jdk和cglib的區別JDKCGLib
- Jdk、Jre Jvm的區別和聯絡JDKJVM
- 短視訊SDK,直播SDK,美顏SDK_提供開放API介面API
- 第1章 開發環境安裝和配置(二)安裝JDK、SDK、NDK開發環境JDK
- Android SDK 1-23各版本代號和別名Android
- fabric sdk : org.hyperledger.fabric.sdk.exception.ProposalExceptionException
- mac管理flutter和dart sdk版本MacFlutterDart
- 百度開放人臉識別離線SDK 一個SDK打包三大能力
- OCR表單識別SDK的部署及應用
- ios 原生sdk 識別圖片中的二維碼iOS
- 坐上JDK8時間SDK的小船,帶你遨遊UNIX時間戳與時區的小太空~JDK時間戳
- 移動端識別SDK開發包
- J2SE - JDK環境變數的說明和設定JDK變數
- 【Android SDK】在命令列管理Android SDKAndroid命令列
- 影片SDK開發,多平臺SDK快速接入
- Conflux js-sdk與以太坊web3. js區別UXJSWeb
- iphone 適配的sdkiPhone