1. Java ME
Java ME(Java 2 Micro Edition),是為機頂盒、移動電話和PDA之類嵌入式消費電子設備提供的Java語言平台,包括虛擬機和一系列標准化的Java API。它是Java 2的一個組成部分,它與J2SE、J2EE並稱,並且同樣是通過JCP(Java Community Process)制訂。根據Sun的定義:Java ME是一種高度優化的Java運行環境,主要針對消費類電子設備的,例如蜂窩電話和可視電話、數字機頂盒、汽車導航系統等等。JAVA ME(Java2平台微型版)技術在1999年的JavaOne Developer Conference大會上正式推出,它將Java語言的與平台無關的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序。今天,不止是桌面上的電腦,手中的電話、汽車中的通信設備、家中的冰箱、 洗衣機等都將連入互聯網,這是一個移動的互聯網。J2ME就是Java程序在這些連接設備上的執行平台和開發環境,其基本思想和 J2SE類似,就是在各種設備上安裝適合它的Java虛擬機,應用程序則在虛擬機之上運行。
Java本來就是為了嵌入式系統而生,1990年12月,Sun公司內部 由James Gosling、Patrick Naughton以及Mike Sheridan成立了一個叫做Green Team的小組。Green Team小組的主要目標,是要發展一種新架構,而這種架構必須能夠在消費性電子產品作業平台上運行,現在我們普遍認識的PDA、手機或是信息家電 (IA),都是屬於這種架構的目標平台。雖然在1999年,Java被分割成J2ME、J2SE、J2EE,所以有了J2ME這個名詞的出現。但是 Java並非1999年才開始發展嵌入式系統上的應用。其實,Java本來就是為了嵌入式系統而發展的一種架構。即使目前大家多半將Java的應用聚焦於 企業上的J2EE應用。但是嚴格來說,J2ME才是Java真正“回歸本心”的領域。
Sun公司將J2ME(Java 2 Micro Edition)定義為“一種以廣泛的消費性產品為目標的、高度優化的Java運行時環境”。J2ME是Sun公司為嵌入式開發所定義的一個框架,由一系 列標准的規范組成。所以J2ME是一系列技術規范的總稱,而不是單一的規范。
J2ME的所有技術標准都由JAVA社區過程(Java Community Process,JCP)制定,JCP是一個開放的國際組織,主要由Java開發者以及被授權者組成,職能是發展和更新Java技術規范、參考實現 (RI)、技術兼容包(TCK)。Java技術和JCP兩者的原創者都是SUN計算機公司。JCP維護的規范包括J2ME、J2SE、J2EE、XML、OSS、JAIN等。組織成員可以提交JSR(Java Specification Requests),通過特定程序以后,進入到下一版本的規范里面。J2ME使用配置(CDC或CLDC)和簡表(Profile)定制 JRE,一個完整的JRE由配置和簡表組成,配置決定了所使用的JVM(可能是CVM或KVM),而簡表通過定義特定的類來為應用程序提供功能上的支持, 一個簡表定義了設備所提供的API集合。例如:CLDC規范目前分為v1.0 JSR 30、v1.1 JSR 139;CDC規范目前分為v1.0 JSR 36、v1.1 JSR 218;MIDP規范目前分為v1.0 JSR 37、v2.0 JSR 118。
J2ME的所有技術標准都由JAVA社區過程(Java Community Process,JCP)制定,JCP是一個開放的國際組織,主要由Java開發者以及被授權者組成,職能是發展和更新Java技術規范、參考實現 (RI)、技術兼容包(TCK)。Java技術和JCP兩者的原創者都是SUN計算機公司。JCP維護的規范包括J2ME、J2SE、J2EE、XML、OSS、JAIN等。組織成員可以提交JSR(Java Specification Requests),通過特定程序以后,進入到下一版本的規范里面。J2ME使用配置(CDC或CLDC)和簡表(Profile)定制 JRE,一個完整的JRE由配置和簡表組成,配置決定了所使用的JVM(可能是CVM或KVM),而簡表通過定義特定的類來為應用程序提供功能上的支持, 一個簡表定義了設備所提供的API集合。例如:CLDC規范目前分為v1.0 JSR 30、v1.1 JSR 139;CDC規范目前分為v1.0 JSR 36、v1.1 JSR 218;MIDP規范目前分為v1.0 JSR 37、v2.0 JSR 118。
與J2SE和J2EE相比,JAVA ME總體的的運行環境和目標更加多樣化,但其中每一種產品的用途卻更為單一,而且資源限制也更加嚴格。為了在達到標准化和兼容性的同時盡量滿足不同方面的 需求,JAVA ME的架構分為Configuration、Profile和Optional Packages(可選包)。它們的組合取舍形成了具體的運行環境。Configuration主要是對設備縱向的分類,分類依據包括存儲和處理能力,其中定義了虛擬機特性和基本的類庫。已經標准化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC)。Profile建立在Configuration基礎之上,一起構成了完 整的運行環境。它對設備橫向分類,針對特定領域細分市場,內容主要包括特定用途的類庫和API。CLDC上已經標准化的Profile有Mobile Information Device Profile (MIDP)和Information Module Profile(IMP),而CDC上標准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。可選包獨立於前面兩者提供附加的、模塊化的和更為多樣化的功能。目前標准化的可選包包括數據庫訪問、多媒體應用、藍牙等等。
2. J2SE
Java2平台包括:標准版(J2SE)、企業版(J2EE)和微縮版(J2ME)三個版本。J2SE,J2ME和J2EE,這也就是 SunONE(Open NetEnvironment)體系。J2SE就是Java2的標准版,主要用於桌面應用軟件的編程;J2ME主要應用於嵌入式系統開發,如手機和PDA的編程;J2EE是Java2的企業版,主要用於分布式的網絡程序的開發,如電子商務網站和ERP系統。
3. J2EE
J2EE是一套全然不同於傳統應用開發的技術架構,包含許多組件,主要可簡化且規范應用系統的開發與部署,進而提高可移植性、安全與再用價值。J2EE核心是一組技術規范與指南,其中所包含的各類組件、服務架構及技術層次,均有共同的標准及規格,讓各種依循J2EE架構的不同平台之間,存在良好的兼容性,解決過去企業后端使用的信息產品彼此之間無法兼容,企業內部或外部難以互通的窘境。
J2EE組件和“標准的” Java類 的不同點在於:它被裝配在一個J2EE應用中,具有固定的格式並遵守J2EE規范,由J2EE服務器對其進行管理。J2EE規范是這樣定義J2EE組件 的:客戶端應用程序和applet是運行在客戶端的組件;Java Servlet和Java Server Pages (JSP) 是運行在服務器端的Web組件;Enterprise Java Bean (EJB )組件是運行在服務器端的業務組件。
參考文章