J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM等一堆名詞每次看到都頭大,也不知是以前SUN自己“編”的這麼多的,還是2009年ORACLE收購SUN之後搞的這麼多名詞。天緣每次都是下載後統一放到一個文件夾,下次直接安裝,要是每次到官網去,總要先查它們之間的區別,否則根本對不上。
J2EE——全稱Java 2 Enterprise Edition,是Java的一種企業版,用於企業級應用開發。
J2SE——全稱Java 2 Standard Edition,是Java的標准版,用於標准應用開發,也是Java基礎版本。
J2ME——全稱Java 2 Micro Edition,是Java的微型版,用於手機、PDA等嵌入式開發,針對手機開發,還有專門的J2ME Wireless Toolkit免費套件提供。
總而言之,J2EE,J2SE,J2ME是java針對不同使用范疇提供不同的服務,也就是提供不同類型的類庫。針對企業應用的J2EE(Java 2 Enterprise Edition)、針對普通PC應用的J2SE(Java 2 Standard Edition)和針對嵌入式設備及消費類電器的J2ME(Java 2 Micro Edition)三個版本。
此外,還有個Java Card版本,顧名思義,Java Card主要面向智能卡應用開發。
對初學者而言,大都是從J2SE先入手,DOWN個J2SE就可以了,在ORACLE官網,就是Java SE,剛剛去ORACLE官網逛了一下,現在又多了幾個名詞了,JAVA FX、JAVA DB、JAVA CARD、JAVA Embedded,而且JAVA SE還分JAVA SE Advanced和JAVA SE Suite,.....饒口令一樣,還好不是專業做JAVA 開發*_*。
下面再看一下幾個三字母的名詞概念:
JDK全稱Java development toolkit,相當於是Java的庫函數,是編譯、運行java程序的工具包。
SDK——全稱Software Develop Kit,軟件開發工具包,用於幫助開發人員提高開發效率。各種不同類型的軟件開發,都可以有自己的SDK。Windows有Windows SDK,DirectX 有 DirectX 9 SDK,.NET開發也有Microsoft .NET Framework SDK。JAVA開發當然也有自己的Java SDK。
JDK——全稱Java development toolkit,相當於是Java的庫函數,是編譯、運行java程序的工具包,是一切java應用程序的基礎,所有java應用程序是構建在這個之上的。它是一組API,也可以說是一些java Class。JDK作為Java開發工具包,主要用於構建在Java平台上運行的應用程序、Applet 和組件等,目前ORACLE官網介紹看,JDK屬於SDK的一部分,JDK和SDK一起發行的。
JRE——全稱Java Runtime Environment,Java運行環境,也就是Java平台。所有的Java程序都要在JRE下才能運行。JDK的工具也是Java程序,也需要JRE才能運行。為了保持JDK的獨立性和完整性,在JDK的安裝過程中,JRE也是安裝的一部分。所以,目前ORACLE官網介紹看,JRE則屬於JDK的一部分,如果不想開發,只是想跑跑JAVA程序,官網可以下載到單獨的JRE包,但如果要開發,還是需安裝上面的JDK。
JVM——全稱Java Virtual Machine,Java虛擬機,是JRE的一部分。它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。JVM有自己完 善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。Java語言最重要的特點就是跨平台運行。使用JVM就是為了支持與操作系統無關,實現跨平台。
所以,JAVA虛擬機JVM是屬於JRE的,而現在我們安裝JDK時也附帶安裝了JRE(當然也可以單獨安裝JRE)。
備注:本文主要內容來源於相關鏈接文章整理,加上天緣個人理解上的修正或補充。也可參考鏈接文章,但下文鏈接中有關於J2SE、J2EE等區別問題,天緣個人感覺跟ORACLE官網說法似乎有出入,本文不再涉及,詳細概念建議去官網查詢。