J2ME基礎(chǔ)詳解1_JSP教程
推薦:J2ME的重要功能簡(jiǎn)介1持久數(shù)據(jù)和記錄管理系統(tǒng)( Record Management System,簡(jiǎn)稱 RMS) MIDP提供在移動(dòng)設(shè)備上存儲(chǔ)持久數(shù)據(jù)的支持,并且 MID簡(jiǎn)表還特意規(guī)定兼容的移動(dòng)設(shè)備必須提供至少 8KB的非動(dòng)態(tài)內(nèi)存用
一、J2ME概述
到目前為止,大部分人都已非常熟悉 Java 2平臺(tái),以及 Sun如何把 Java技術(shù)分成三個(gè)版本 (標(biāo)準(zhǔn)版、袖珍版以及企業(yè)版),Sun 在1999年6月時(shí)推出了 Java 2袖珍版 (J2ME)來滿足消費(fèi)電子和嵌入設(shè)備的需要。 J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接 (常常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。它最初的目標(biāo)是 16位或 32位處理器,16 MHz時(shí)鐘頻率, 512K或更少內(nèi)存的設(shè)備。乍一看之下, J2ME就像一個(gè)沒有綁定明顯主題的松散的應(yīng)用程序接口和技術(shù)規(guī)范。我們想通過說它不是什么東西的方法來描述它,它不是一組用于臺(tái)式機(jī) Java應(yīng)用程序規(guī)范,如果你再觀察仔細(xì)一些,你會(huì)發(fā)現(xiàn)所有的 J2ME組件都圍繞一個(gè)中心,這些中心被稱為configuration(配置 ,Sun的市場(chǎng)營銷資料也稱它們 design centers,設(shè)計(jì)中心),它們中間的每一個(gè)都是用于消費(fèi)電子和嵌入設(shè)備的特別的類。
Connected limited device configuration(有限連接設(shè)備配置,簡(jiǎn)稱 CLDC ) 這個(gè)配置定義了 Java應(yīng)用程序接口以及支持手持設(shè)備的技術(shù),就像 Sun的文檔中所描述的那樣, " devices that you hold in your hand(你握在手中的設(shè)備) " Palm序列手持設(shè)備可能是這一領(lǐng)域的設(shè)備的最好的例子,特別是它有開發(fā) CLDC的功能以及 Palm設(shè)備運(yùn)行期系統(tǒng)可用。
Connected device configuration(連接設(shè)備配置 CDC ) 這個(gè)配置定義支持象 Sun文檔中所說, " devices that you plug into plug into the wall(你插入墻的設(shè)備)的設(shè)備的應(yīng)用程序接口和技術(shù),這樣的設(shè)備的一個(gè)例子可能就是機(jī)頂盒。
這兩種配置不同的地方就在于它們應(yīng)用于的裝置的能力, CLDC設(shè)備的處理器能力有限 (與臺(tái)式機(jī)系統(tǒng)比較 ),并且存儲(chǔ)器大小一般也只在128 KB到 512 KB之間, 與此同時(shí),CDC系統(tǒng)就不同了,它可能有 32位或 64位處理器,以及有限的存儲(chǔ)容量,不過它的下限也得超過512K。 它遵循的原則就是,每個(gè)不同的能力硬件的配置都將被不同的虛擬機(jī)支持。 基于 CDC的系統(tǒng)使用一個(gè)功能強(qiáng)勁的虛擬機(jī),而基于 CLDC系統(tǒng)的使用 KVM 。
每個(gè)配置代表一種低水平的,基本的應(yīng)用程序接口,在這兩個(gè)相似基礎(chǔ)之上是 profile(簡(jiǎn)表),用于特殊設(shè)備的額外的應(yīng)用程序接口。 我想通過看一張來自SUN提供的文檔中的圖表 (參見圖 1 )來解釋這其中的關(guān)系。

圖一解釋 配置和簡(jiǎn)表的體系結(jié)構(gòu)
J2ME的體系結(jié)構(gòu)被橫向地分成三層,縱向分成兩部分。配置包括一個(gè)控制配置核心類的虛擬機(jī), 具體的簡(jiǎn)表位于每個(gè)配置之上。
J2ME現(xiàn)在定義兩個(gè)配置, Connected Device configuration(連接設(shè)備配置 CDC )和限制性更強(qiáng)的 Connected Limited Device Configuration (有限連接設(shè)備配置)。 簡(jiǎn)表的實(shí)現(xiàn)是 Java應(yīng)用程序接口的一個(gè)集合,用于適應(yīng)被定義配置的應(yīng)用程序接口提供的服務(wù),簡(jiǎn)表是一個(gè)完整的運(yùn)行環(huán)境,一個(gè)在簡(jiǎn)表上執(zhí)行的應(yīng)用程序不需要額外的支持類。
J2ME沒有定義滿足這兩種配置的標(biāo)準(zhǔn)化用戶接口,Sun也承認(rèn)現(xiàn)在的消費(fèi)設(shè)備多種多樣,用戶界面也各不一樣,所以定義一個(gè)可用于所有用戶的界面是一場(chǎng)失敗的戰(zhàn)爭(zhēng)。 J2ME中的用戶界面定義在簡(jiǎn)表中。
二、J2ME的體系結(jié)構(gòu)
現(xiàn)在個(gè)人計(jì)算機(jī)系統(tǒng)的數(shù)量和種類已經(jīng)發(fā)展到無法控制的地步,請(qǐng)你想一想,你編寫的程序運(yùn)行在“信息家電”舞臺(tái)的情景吧,這些信息家電包括呼叫器,行動(dòng)電話,像Palm這樣的個(gè)人數(shù)字助手(PDA),電視機(jī)頂盒,POS終端以及其他的消費(fèi)電子設(shè)備。現(xiàn)在全世界上光是手提電話生產(chǎn)商就有許多,更不用說別的家電設(shè)備了,而且每一種家電設(shè)備又有不同的特性和界面。所以,你可以想到, Java應(yīng)用程序的輕便性以及能夠解決開發(fā)這么許多不同的設(shè)備程序的能力,使大家對(duì)J2ME有很大的期許。當(dāng)然,為了更好的開發(fā)這些信息家電,就要求把Java的精髓壓縮進(jìn)一個(gè)非常小的程序包中,這就是J2ME。
J2ME是一種通過許多部件和規(guī)范的技術(shù), 這眾多的部件和規(guī)范幫助 J2ME來滿足這眾多的消費(fèi)產(chǎn)品的不同的需要。和所有的爪哇程式語言技術(shù)一樣,在它的核心屬于一種虛擬機(jī)。 就像使用所有 Java技術(shù)一樣,J2ME的核心也在一種虛擬機(jī)中。 最初,用于 J2ME應(yīng)用程序虛擬機(jī)的被稱作 Kilobyte virtual machine或簡(jiǎn)稱 KVM。就像它名稱的含義, KVM比較小,通常只有 128K或更少。這比起我們通常了解和使用的 Java 2標(biāo)準(zhǔn)版 Java虛擬機(jī) ( JVM )的 32 MB來說就小得多了。
用于連接虛擬機(jī)的是一系列配置和簡(jiǎn)表,它們提供了用于特定 J2ME環(huán)境的類應(yīng)用程序接口(見圖二)。 每個(gè)配置和簡(jiǎn)表處理一般或具體的消費(fèi)產(chǎn)品,配置和簡(jiǎn)表規(guī)范是由多種多樣的設(shè)備生產(chǎn)商和用戶共同開發(fā)并建立的。配置是用于一組通用設(shè)備的最小的 Java平臺(tái), 常常歸為一種橫向的設(shè)備分組,相對(duì)來說,橫向分組設(shè)備是那些共享相同的內(nèi)存安排,通信帶寬,能量需求以及用戶能力的設(shè)備,一般認(rèn)為配置能夠提供這眾多的設(shè)備的所有需求。

圖二解釋: J2ME層次
Java虛擬機(jī)是 J2ME技術(shù)的核心,但是配置和簡(jiǎn)表提供特殊環(huán)境的類應(yīng)用程序接口。配置是用于一組通用設(shè)備的最小的 Java平臺(tái),而簡(jiǎn)表則為具體的設(shè)備家族或特別的應(yīng)用程序提供更具體的能力。
J2ME領(lǐng)域的新的開發(fā)者常常被這些事實(shí)困惑的, 事實(shí)上, Sun的第一個(gè)配置(現(xiàn)在只是一種配置的引用實(shí)現(xiàn) )帶有稱為 KVM的虛擬機(jī)引用實(shí)現(xiàn), KVM滿足配置的虛擬機(jī)的必要條件。然而, Sun的 KVM也可以被另外一個(gè)虛擬機(jī)所代替,現(xiàn)在, 正是因?yàn)榕渲煤吞摂M機(jī)結(jié)合得有點(diǎn)緊密,因此導(dǎo)致了這么多的混亂。
另一方面,簡(jiǎn)表完善了 配置,為某個(gè)具體的設(shè)備家族或某個(gè)具體的工業(yè)片段應(yīng)用程序提供更高的性能。 換言之, 簡(jiǎn)表為具體的縱向市場(chǎng)的設(shè)備比如說行動(dòng)電話提供更多的性能。這里的關(guān)鍵就是 簡(jiǎn)表必須完善 配置, 沒有 配置和虛擬機(jī)提供核心類應(yīng)用程序接口和運(yùn)行期環(huán)境的話,簡(jiǎn)表也不會(huì)工作。
通常,簡(jiǎn)表為一種給定的垂直分組設(shè)備提供用戶界面、輸入法、持久性機(jī)制。這類 簡(jiǎn)表被認(rèn)為是發(fā)展這些設(shè)備應(yīng)用程序的完整的工具包。我們見到最多的應(yīng)用程序簡(jiǎn)表的例子就移動(dòng)電話簡(jiǎn)表和個(gè)人數(shù)字助手(PDA)簡(jiǎn)表,其他簡(jiǎn)表為范圍寬廣的設(shè)備提供非常特殊的功能或應(yīng)用程序可移植性,這方面的例子就是提供遠(yuǎn)程方法調(diào)用 ( RMI )功能的簡(jiǎn)表和提供統(tǒng)一銀行事務(wù)的簡(jiǎn)表。
虛擬機(jī)、 配置、 簡(jiǎn)表…你是不是已經(jīng)被搞迷糊了? 如果這樣的話,我們就來簡(jiǎn)化一下 J2ME體系結(jié)構(gòu)吧。 如果你想為小型信息家電編寫 Java應(yīng)用程序的話,你就需要兩個(gè)前提:一個(gè) 配置和至少一個(gè) 簡(jiǎn)表。 現(xiàn)在, 一般是配置捆綁了虛擬機(jī)和一套針對(duì)你的平臺(tái)所能夠用的橫向分組設(shè)備的Java類庫。其次,你至少還需要一個(gè) 簡(jiǎn)表來為你的平臺(tái)提供附加的 Java類,這個(gè) 簡(jiǎn)表通常會(huì)為你的設(shè)備提供用戶界面、輸入和數(shù)據(jù)庫類。有了這兩個(gè)前提,你就了使用 Java為你的設(shè)備編寫應(yīng)用程序的基本的J2ME環(huán)境。
一、J2ME概述
到目前為止,大部分人都已非常熟悉 Java 2平臺(tái),以及 Sun如何把 Java技術(shù)分成三個(gè)版本 (標(biāo)準(zhǔn)版、袖珍版以及企業(yè)版),Sun 在1999年6月時(shí)推出了 Java 2袖珍版 (J2ME)來滿足消費(fèi)電子和嵌入設(shè)備的需要。 J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接 (常常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。它最初的目標(biāo)是 16位或 32位處理器,16 MHz時(shí)鐘頻率, 512K或更少內(nèi)存的設(shè)備。乍一看之下, J2ME就像一個(gè)沒有綁定明顯主題的松散的應(yīng)用程序接口和技術(shù)規(guī)范。我們想通過說它不是什么東西的方法來描述它,它不是一組用于臺(tái)式機(jī) Java應(yīng)用程序規(guī)范,如果你再觀察仔細(xì)一些,你會(huì)發(fā)現(xiàn)所有的 J2ME組件都圍繞一個(gè)中心,這些中心被稱為configuration(配置 ,Sun的市場(chǎng)營銷資料也稱它們 design centers,設(shè)計(jì)中心),它們中間的每一個(gè)都是用于消費(fèi)電子和嵌入設(shè)備的特別的類。
Connected limited device configuration(有限連接設(shè)備配置,簡(jiǎn)稱 CLDC ) 這個(gè)配置定義了 Java應(yīng)用程序接口以及支持手持設(shè)備的技術(shù),就像 Sun的文檔中所描述的那樣, " devices that you hold in your hand(你握在手中的設(shè)備) " Palm序列手持設(shè)備可能是這一領(lǐng)域的設(shè)備的最好的例子,特別是它有開發(fā) CLDC的功能以及 Palm設(shè)備運(yùn)行期系統(tǒng)可用。
Connected device configuration(連接設(shè)備配置 CDC ) 這個(gè)配置定義支持象 Sun文檔中所說, " devices that you plug into plug into the wall(你插入墻的設(shè)備)的設(shè)備的應(yīng)用程序接口和技術(shù),這樣的設(shè)備的一個(gè)例子可能就是機(jī)頂盒。
這兩種配置不同的地方就在于它們應(yīng)用于的裝置的能力, CLDC設(shè)備的處理器能力有限 (與臺(tái)式機(jī)系統(tǒng)比較 ),并且存儲(chǔ)器大小一般也只在128 KB到 512 KB之間, 與此同時(shí),CDC系統(tǒng)就不同了,它可能有 32位或 64位處理器,以及有限的存儲(chǔ)容量,不過它的下限也得超過512K。 它遵循的原則就是,每個(gè)不同的能力硬件的配置都將被不同的虛擬機(jī)支持。 基于 CDC的系統(tǒng)使用一個(gè)功能強(qiáng)勁的虛擬機(jī),而基于 CLDC系統(tǒng)的使用 KVM 。
每個(gè)配置代表一種低水平的,基本的應(yīng)用程序接口,在這兩個(gè)相似基礎(chǔ)之上是 profile(簡(jiǎn)表),用于特殊設(shè)備的額外的應(yīng)用程序接口。 我想通過看一張來自SUN提供的文檔中的圖表 (參見圖 1 )來解釋這其中的關(guān)系。

圖一解釋 配置和簡(jiǎn)表的體系結(jié)構(gòu)
J2ME的體系結(jié)構(gòu)被橫向地分成三層,縱向分成兩部分。配置包括一個(gè)控制配置核心類的虛擬機(jī), 具體的簡(jiǎn)表位于每個(gè)配置之上。
J2ME現(xiàn)在定義兩個(gè)配置, Connected Device configuration(連接設(shè)備配置 CDC )和限制性更強(qiáng)的 Connected Limited Device Configuration (有限連接設(shè)備配置)。 簡(jiǎn)表的實(shí)現(xiàn)是 Java應(yīng)用程序接口的一個(gè)集合,用于適應(yīng)被定義配置的應(yīng)用程序接口提供的服務(wù),簡(jiǎn)表是一個(gè)完整的運(yùn)行環(huán)境,一個(gè)在簡(jiǎn)表上執(zhí)行的應(yīng)用程序不需要額外的支持類。
J2ME沒有定義滿足這兩種配置的標(biāo)準(zhǔn)化用戶接口,Sun也承認(rèn)現(xiàn)在的消費(fèi)設(shè)備多種多樣,用戶界面也各不一樣,所以定義一個(gè)可用于所有用戶的界面是一場(chǎng)失敗的戰(zhàn)爭(zhēng)。 J2ME中的用戶界面定義在簡(jiǎn)表中。
二、J2ME的體系結(jié)構(gòu)
現(xiàn)在個(gè)人計(jì)算機(jī)系統(tǒng)的數(shù)量和種類已經(jīng)發(fā)展到無法控制的地步,請(qǐng)你想一想,你編寫的程序運(yùn)行在“信息家電”舞臺(tái)的情景吧,這些信息家電包括呼叫器,行動(dòng)電話,像Palm這樣的個(gè)人數(shù)字助手(PDA),電視機(jī)頂盒,POS終端以及其他的消費(fèi)電子設(shè)備�,F(xiàn)在全世界上光是手提電話生產(chǎn)商就有許多,更不用說別的家電設(shè)備了,而且每一種家電設(shè)備又有不同的特性和界面。所以,你可以想到, Java應(yīng)用程序的輕便性以及能夠解決開發(fā)這么許多不同的設(shè)備程序的能力,使大家對(duì)J2ME有很大的期許。當(dāng)然,為了更好的開發(fā)這些信息家電,就要求把Java的精髓壓縮進(jìn)一個(gè)非常小的程序包中,這就是J2ME。
J2ME是一種通過許多部件和規(guī)范的技術(shù), 這眾多的部件和規(guī)范幫助 J2ME來滿足這眾多的消費(fèi)產(chǎn)品的不同的需要。和所有的爪哇程式語言技術(shù)一樣,在它的核心屬于一種虛擬機(jī)。 就像使用所有 Java技術(shù)一樣,J2ME的核心也在一種虛擬機(jī)中。 最初,用于 J2ME應(yīng)用程序虛擬機(jī)的被稱作 Kilobyte virtual machine或簡(jiǎn)稱 KVM。就像它名稱的含義, KVM比較小,通常只有 128K或更少。這比起我們通常了解和使用的 Java 2標(biāo)準(zhǔn)版 Java虛擬機(jī) ( JVM )的 32 MB來說就小得多了。
用于連接虛擬機(jī)的是一系列配置和簡(jiǎn)表,它們提供了用于特定 J2ME環(huán)境的類應(yīng)用程序接口(見圖二)。 每個(gè)配置和簡(jiǎn)表處理一般或具體的消費(fèi)產(chǎn)品,配置和簡(jiǎn)表規(guī)范是由多種多樣的設(shè)備生產(chǎn)商和用戶共同開發(fā)并建立的。配置是用于一組通用設(shè)備的最小的 Java平臺(tái), 常常歸為一種橫向的設(shè)備分組,相對(duì)來說,橫向分組設(shè)備是那些共享相同的內(nèi)存安排,通信帶寬,能量需求以及用戶能力的設(shè)備,一般認(rèn)為配置能夠提供這眾多的設(shè)備的所有需求。

圖二解釋: J2ME層次
Java虛擬機(jī)是 J2ME技術(shù)的核心,但是配置和簡(jiǎn)表提供特殊環(huán)境的類應(yīng)用程序接口。配置是用于一組通用設(shè)備的最小的 Java平臺(tái),而簡(jiǎn)表則為具體的設(shè)備家族或特別的應(yīng)用程序提供更具體的能力。
J2ME領(lǐng)域的新的開發(fā)者常常被這些事實(shí)困惑的, 事實(shí)上, Sun的第一個(gè)配置(現(xiàn)在只是一種配置的引用實(shí)現(xiàn) )帶有稱為 KVM的虛擬機(jī)引用實(shí)現(xiàn), KVM滿足配置的虛擬機(jī)的必要條件。然而, Sun的 KVM也可以被另外一個(gè)虛擬機(jī)所代替,現(xiàn)在, 正是因?yàn)榕渲煤吞摂M機(jī)結(jié)合得有點(diǎn)緊密,因此導(dǎo)致了這么多的混亂。
另一方面,簡(jiǎn)表完善了 配置,為某個(gè)具體的設(shè)備家族或某個(gè)具體的工業(yè)片段應(yīng)用程序提供更高的性能。 換言之, 簡(jiǎn)表為具體的縱向市場(chǎng)的設(shè)備比如說行動(dòng)電話提供更多的性能。這里的關(guān)鍵就是 簡(jiǎn)表必須完善 配置, 沒有 配置和虛擬機(jī)提供核心類應(yīng)用程序接口和運(yùn)行期環(huán)境的話,簡(jiǎn)表也不會(huì)工作。
通常,簡(jiǎn)表為一種給定的垂直分組設(shè)備提供用戶界面、輸入法、持久性機(jī)制。這類 簡(jiǎn)表被認(rèn)為是發(fā)展這些設(shè)備應(yīng)用程序的完整的工具包。我們見到最多的應(yīng)用程序簡(jiǎn)表的例子就移動(dòng)電話簡(jiǎn)表和個(gè)人數(shù)字助手(PDA)簡(jiǎn)表,其他簡(jiǎn)表為范圍寬廣的設(shè)備提供非常特殊的功能或應(yīng)用程序可移植性,這方面的例子就是提供遠(yuǎn)程方法調(diào)用 ( RMI )功能的簡(jiǎn)表和提供統(tǒng)一銀行事務(wù)的簡(jiǎn)表。
虛擬機(jī)、 配置、 簡(jiǎn)表…你是不是已經(jīng)被搞迷糊了? 如果這樣的話,我們就來簡(jiǎn)化一下 J2ME體系結(jié)構(gòu)吧。 如果你想為小型信息家電編寫 Java應(yīng)用程序的話,你就需要兩個(gè)前提:一個(gè) 配置和至少一個(gè) 簡(jiǎn)表。 現(xiàn)在, 一般是配置捆綁了虛擬機(jī)和一套針對(duì)你的平臺(tái)所能夠用的橫向分組設(shè)備的Java類庫。其次,你至少還需要一個(gè) 簡(jiǎn)表來為你的平臺(tái)提供附加的 Java類,這個(gè) 簡(jiǎn)表通常會(huì)為你的設(shè)備提供用戶界面、輸入和數(shù)據(jù)庫類。有了這兩個(gè)前提,你就了使用 Java為你的設(shè)備編寫應(yīng)用程序的基本的J2ME環(huán)境。
一、J2ME概述
到目前為止,大部分人都已非常熟悉 Java 2平臺(tái),以及 Sun如何把 Java技術(shù)分成三個(gè)版本 (標(biāo)準(zhǔn)版、袖珍版以及企業(yè)版),Sun 在1999年6月時(shí)推出了 Java 2袖珍版 (J2ME)來滿足消費(fèi)電子和嵌入設(shè)備的需要。 J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接 (常常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。它最初的目標(biāo)是 16位或 32位處理器,16 MHz時(shí)鐘頻率, 512K或更少內(nèi)存的設(shè)備。乍一看之下, J2ME就像一個(gè)沒有綁定明顯主題的松散的應(yīng)用程序接口和技術(shù)規(guī)范。我們想通過說它不是什么東西的方法來描述它,它不是一組用于臺(tái)式機(jī) Java應(yīng)用程序規(guī)范,如果你再觀察仔細(xì)一些,你會(huì)發(fā)現(xiàn)所有的 J2ME組件都圍繞一個(gè)中心,這些中心被稱為configuration(配置 ,Sun的市場(chǎng)營銷資料也稱它們 design centers,設(shè)計(jì)中心),它們中間的每一個(gè)都是用于消費(fèi)電子和嵌入設(shè)備的特別的類。
Connected limited device configuration(有限連接設(shè)備配置,簡(jiǎn)稱 CLDC ) 這個(gè)配置定義了 Java應(yīng)用程序接口以及支持手持設(shè)備的技術(shù),就像 Sun的文檔中所描述的那樣, " devices that you hold in your hand(你握在手中的設(shè)備) " Palm序列手持設(shè)備可能是這一領(lǐng)域的設(shè)備的最好的例子,特別是它有開發(fā) CLDC的功能以及 Palm設(shè)備運(yùn)行期系統(tǒng)可用。
Connected device configuration(連接設(shè)備配置 CDC ) 這個(gè)配置定義支持象 Sun文檔中所說, " devices that you plug into plug into the wall(你插入墻的設(shè)備)的設(shè)備的應(yīng)用程序接口和技術(shù),這樣的設(shè)備的一個(gè)例子可能就是機(jī)頂盒。
這兩種配置不同的地方就在于它們應(yīng)用于的裝置的能力, CLDC設(shè)備的處理器能力有限 (與臺(tái)式機(jī)系統(tǒng)比較 ),并且存儲(chǔ)器大小一般也只在128 KB到 512 KB之間, 與此同時(shí),CDC系統(tǒng)就不同了,它可能有 32位或 64位處理器,以及有限的存儲(chǔ)容量,不過它的下限也得超過512K。 它遵循的原則就是,每個(gè)不同的能力硬件的配置都將被不同的虛擬機(jī)支持。 基于 CDC的系統(tǒng)使用一個(gè)功能強(qiáng)勁的虛擬機(jī),而基于 CLDC系統(tǒng)的使用 KVM 。
每個(gè)配置代表一種低水平的,基本的應(yīng)用程序接口,在這兩個(gè)相似基礎(chǔ)之上是 profile(簡(jiǎn)表),用于特殊設(shè)備的額外的應(yīng)用程序接口。 我想通過看一張來自SUN提供的文檔中的圖表 (參見圖 1 )來解釋這其中的關(guān)系。

圖一解釋 配置和簡(jiǎn)表的體系結(jié)構(gòu)
J2ME的體系結(jié)構(gòu)被橫向地分成三層,縱向分成兩部分。配置包括一個(gè)控制配置核心類的虛擬機(jī), 具體的簡(jiǎn)表位于每個(gè)配置之上。
J2ME現(xiàn)在定義兩個(gè)配置, Connected Device configuration(連接設(shè)備配置 CDC )和限制性更強(qiáng)的 Connected Limited Device Configuration (有限連接設(shè)備配置)。 簡(jiǎn)表的實(shí)現(xiàn)是 Java應(yīng)用程序接口的一個(gè)集合,用于適應(yīng)被定義配置的應(yīng)用程序接口提供的服務(wù),簡(jiǎn)表是一個(gè)完整的運(yùn)行環(huán)境,一個(gè)在簡(jiǎn)表上執(zhí)行的應(yīng)用程序不需要額外的支持類。
J2ME沒有定義滿足這兩種配置的標(biāo)準(zhǔn)化用戶接口,Sun也承認(rèn)現(xiàn)在的消費(fèi)設(shè)備多種多樣,用戶界面也各不一樣,所以定義一個(gè)可用于所有用戶的界面是一場(chǎng)失敗的戰(zhàn)爭(zhēng)。 J2ME中的用戶界面定義在簡(jiǎn)表中。
二、J2ME的體系結(jié)構(gòu)
現(xiàn)在個(gè)人計(jì)算機(jī)系統(tǒng)的數(shù)量和種類已經(jīng)發(fā)展到無法控制的地步,請(qǐng)你想一想,你編寫的程序運(yùn)行在“信息家電”舞臺(tái)的情景吧,這些信息家電包括呼叫器,行動(dòng)電話,像Palm這樣的個(gè)人數(shù)字助手(PDA),電視機(jī)頂盒,POS終端以及其他的消費(fèi)電子設(shè)備�,F(xiàn)在全世界上光是手提電話生產(chǎn)商就有許多,更不用說別的家電設(shè)備了,而且每一種家電設(shè)備又有不同的特性和界面。所以,你可以想到, Java應(yīng)用程序的輕便性以及能夠解決開發(fā)這么許多不同的設(shè)備程序的能力,使大家對(duì)J2ME有很大的期許。當(dāng)然,為了更好的開發(fā)這些信息家電,就要求把Java的精髓壓縮進(jìn)一個(gè)非常小的程序包中,這就是J2ME。
J2ME是一種通過許多部件和規(guī)范的技術(shù), 這眾多的部件和規(guī)范幫助 J2ME來滿足這眾多的消費(fèi)產(chǎn)品的不同的需要。和所有的爪哇程式語言技術(shù)一樣,在它的核心屬于一種虛擬機(jī)。 就像使用所有 Java技術(shù)一樣,J2ME的核心也在一種虛擬機(jī)中。 最初,用于 J2ME應(yīng)用程序虛擬機(jī)的被稱作 Kilobyte virtual machine或簡(jiǎn)稱 KVM。就像它名稱的含義, KVM比較小,通常只有 128K或更少。這比起我們通常了解和使用的 Java 2標(biāo)準(zhǔn)版 Java虛擬機(jī) ( JVM )的 32 MB來說就小得多了。
用于連接虛擬機(jī)的是一系列配置和簡(jiǎn)表,它們提供了用于特定 J2ME環(huán)境的類應(yīng)用程序接口(見圖二)。 每個(gè)配置和簡(jiǎn)表處理一般或具體的消費(fèi)產(chǎn)品,配置和簡(jiǎn)表規(guī)范是由多種多樣的設(shè)備生產(chǎn)商和用戶共同開發(fā)并建立的。配置是用于一組通用設(shè)備的最小的 Java平臺(tái), 常常歸為一種橫向的設(shè)備分組,相對(duì)來說,橫向分組設(shè)備是那些共享相同的內(nèi)存安排,通信帶寬,能量需求以及用戶能力的設(shè)備,一般認(rèn)為配置能夠提供這眾多的設(shè)備的所有需求。

圖二解釋: J2ME層次
Java虛擬機(jī)是 J2ME技術(shù)的核心,但是配置和簡(jiǎn)表提供特殊環(huán)境的類應(yīng)用程序接口。配置是用于一組通用設(shè)備的最小的 Java平臺(tái),而簡(jiǎn)表則為具體的設(shè)備家族或特別的應(yīng)用程序提供更具體的能力。
J2ME領(lǐng)域的新的開發(fā)者常常被這些事實(shí)困惑的, 事實(shí)上, Sun的第一個(gè)配置(現(xiàn)在只是一種配置的引用實(shí)現(xiàn) )帶有稱為 KVM的虛擬機(jī)引用實(shí)現(xiàn), KVM滿足配置的虛擬機(jī)的必要條件。然而, Sun的 KVM也可以被另外一個(gè)虛擬機(jī)所代替,現(xiàn)在, 正是因?yàn)榕渲煤吞摂M機(jī)結(jié)合得有點(diǎn)緊密,因此導(dǎo)致了這么多的混亂。
另一方面,簡(jiǎn)表完善了 配置,為某個(gè)具體的設(shè)備家族或某個(gè)具體的工業(yè)片段應(yīng)用程序提供更高的性能。 換言之, 簡(jiǎn)表為具體的縱向市場(chǎng)的設(shè)備比如說行動(dòng)電話提供更多的性能。這里的關(guān)鍵就是 簡(jiǎn)表必須完善 配置, 沒有 配置和虛擬機(jī)提供核心類應(yīng)用程序接口和運(yùn)行期環(huán)境的話,簡(jiǎn)表也不會(huì)工作。
通常,簡(jiǎn)表為一種給定的垂直分組設(shè)備提供用戶界面、輸入法、持久性機(jī)制。這類 簡(jiǎn)表被認(rèn)為是發(fā)展這些設(shè)備應(yīng)用程序的完整的工具包。我們見到最多的應(yīng)用程序簡(jiǎn)表的例子就移動(dòng)電話簡(jiǎn)表和個(gè)人數(shù)字助手(PDA)簡(jiǎn)表,其他簡(jiǎn)表為范圍寬廣的設(shè)備提供非常特殊的功能或應(yīng)用程序可移植性,這方面的例子就是提供遠(yuǎn)程方法調(diào)用 ( RMI )功能的簡(jiǎn)表和提供統(tǒng)一銀行事務(wù)的簡(jiǎn)表。
虛擬機(jī)、 配置、 簡(jiǎn)表…你是不是已經(jīng)被搞迷糊了? 如果這樣的話,我們就來簡(jiǎn)化一下 J2ME體系結(jié)構(gòu)吧。 如果你想為小型信息家電編寫 Java應(yīng)用程序的話,你就需要兩個(gè)前提:一個(gè) 配置和至少一個(gè) 簡(jiǎn)表。 現(xiàn)在, 一般是配置捆綁了虛擬機(jī)和一套針對(duì)你的平臺(tái)所能夠用的橫向分組設(shè)備的Java類庫。其次,你至少還需要一個(gè) 簡(jiǎn)表來為你的平臺(tái)提供附加的 Java類,這個(gè) 簡(jiǎn)表通常會(huì)為你的設(shè)備提供用戶界面、輸入和數(shù)據(jù)庫類。有了這兩個(gè)前提,你就了使用 Java為你的設(shè)備編寫應(yīng)用程序的基本的J2ME環(huán)境。
一、J2ME概述
到目前為止,大部分人都已非常熟悉 Java 2平臺(tái),以及 Sun如何把 Java技術(shù)分成三個(gè)版本 (標(biāo)準(zhǔn)版、袖珍版以及企業(yè)版),Sun 在1999年6月時(shí)推出了 Java 2袖珍版 (J2ME)來滿足消費(fèi)電子和嵌入設(shè)備的需要。 J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接 (常常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。它最初的目標(biāo)是 16位或 32位處理器,16 MHz時(shí)鐘頻率, 512K或更少內(nèi)存的設(shè)備。乍一看之下, J2ME就像一個(gè)沒有綁定明顯主題的松散的應(yīng)用程序接口和技術(shù)規(guī)范。我們想通過說它不是什么東西的方法來描述它,它不是一組用于臺(tái)式機(jī) Java應(yīng)用程序規(guī)范,如果你再觀察仔細(xì)一些,你會(huì)發(fā)現(xiàn)所有的 J2ME組件都圍繞一個(gè)中心,這些中心被稱為configuration(配置 ,Sun的市場(chǎng)營銷資料也稱它們 design centers,設(shè)計(jì)中心),它們中間的每一個(gè)都是用于消費(fèi)電子和嵌入設(shè)備的特別的類。
Connected limited device configuration(有限連接設(shè)備配置,簡(jiǎn)稱 CLDC ) 這個(gè)配置定義了 Java應(yīng)用程序接口以及支持手持設(shè)備的技術(shù),就像 Sun的文檔中所描述的那樣, " devices that you hold in your hand(你握在手中的設(shè)備) " Palm序列手持設(shè)備可能是這一領(lǐng)域的設(shè)備的最好的例子,特別是它有開發(fā) CLDC的功能以及 Palm設(shè)備運(yùn)行期系統(tǒng)可用。
Connected device configuration(連接設(shè)備配置 CDC ) 這個(gè)配置定義支持象 Sun文檔中所說, " devices that you plug into plug into the wall(你插入墻的設(shè)備)的設(shè)備的應(yīng)用程序接口和技術(shù),這樣的設(shè)備的一個(gè)例子可能就是機(jī)頂盒。
這兩種配置不同的地方就在于它們應(yīng)用于的裝置的能力, CLDC設(shè)備的處理器能力有限 (與臺(tái)式機(jī)系統(tǒng)比較 ),并且存儲(chǔ)器大小一般也只在128 KB到 512 KB之間, 與此同時(shí),CDC系統(tǒng)就不同了,它可能有 32位或 64位處理器,以及有限的存儲(chǔ)容量,不過它的下限也得超過512K。 它遵循的原則就是,每個(gè)不同的能力硬件的配置都將被不同的虛擬機(jī)支持。 基于 CDC的系統(tǒng)使用一個(gè)功能強(qiáng)勁的虛擬機(jī),而基于 CLDC系統(tǒng)的使用 KVM 。
每個(gè)配置代表一種低水平的,基本的應(yīng)用程序接口,在這兩個(gè)相似基礎(chǔ)之上是 profile(簡(jiǎn)表),用于特殊設(shè)備的額外的應(yīng)用程序接口。 我想通過看一張來自SUN提供的文檔中的圖表 (參見圖 1 )來解釋這其中的關(guān)系。

圖一解釋 配置和簡(jiǎn)表的體系結(jié)構(gòu)
J2ME的體系結(jié)構(gòu)被橫向地分成三層,縱向分成兩部分。配置包括一個(gè)控制配置核心類的虛擬機(jī), 具體的簡(jiǎn)表位于每個(gè)配置之上。
J2ME現(xiàn)在定義兩個(gè)配置, Connected Device configuration(連接設(shè)備配置 CDC )和限制性更強(qiáng)的 Connected Limited Device Configuration (有限連接設(shè)備配置)。 簡(jiǎn)表的實(shí)現(xiàn)是 Java應(yīng)用程序接口的一個(gè)集合,用于適應(yīng)被定義配置的應(yīng)用程序接口提供的服務(wù),簡(jiǎn)表是一個(gè)完整的運(yùn)行環(huán)境,一個(gè)在簡(jiǎn)表上執(zhí)行的應(yīng)用程序不需要額外的支持類。
J2ME沒有定義滿足這兩種配置的標(biāo)準(zhǔn)化用戶接口,Sun也承認(rèn)現(xiàn)在的消費(fèi)設(shè)備多種多樣,用戶界面也各不一樣,所以定義一個(gè)可用于所有用戶的界面是一場(chǎng)失敗的戰(zhàn)爭(zhēng)。 J2ME中的用戶界面定義在簡(jiǎn)表中。
二、J2ME的體系結(jié)構(gòu)
現(xiàn)在個(gè)人計(jì)算機(jī)系統(tǒng)的數(shù)量和種類已經(jīng)發(fā)展到無法控制的地步,請(qǐng)你想一想,你編寫的程序運(yùn)行在“信息家電”舞臺(tái)的情景吧,這些信息家電包括呼叫器,行動(dòng)電話,像Palm這樣的個(gè)人數(shù)字助手(PDA),電視機(jī)頂盒,POS終端以及其他的消費(fèi)電子設(shè)備�,F(xiàn)在全世界上光是手提電話生產(chǎn)商就有許多,更不用說別的家電設(shè)備了,而且每一種家電設(shè)備又有不同的特性和界面。所以,你可以想到, Java應(yīng)用程序的輕便性以及能夠解決開發(fā)這么許多不同的設(shè)備程序的能力,使大家對(duì)J2ME有很大的期許。當(dāng)然,為了更好的開發(fā)這些信息家電,就要求把Java的精髓壓縮進(jìn)一個(gè)非常小的程序包中,這就是J2ME。
J2ME是一種通過許多部件和規(guī)范的技術(shù), 這眾多的部件和規(guī)范幫助 J2ME來滿足這眾多的消費(fèi)產(chǎn)品的不同的需要。和所有的爪哇程式語言技術(shù)一樣,在它的核心屬于一種虛擬機(jī)。 就像使用所有 Java技術(shù)一樣,J2ME的核心也在一種虛擬機(jī)中。 最初,用于 J2ME應(yīng)用程序虛擬機(jī)的被稱作 Kilobyte virtual machine或簡(jiǎn)稱 KVM。就像它名稱的含義, KVM比較小,通常只有 128K或更少。這比起我們通常了解和使用的 Java 2標(biāo)準(zhǔn)版 Java虛擬機(jī) ( JVM )的 32 MB來說就小得多了。
用于連接虛擬機(jī)的是一系列配置和簡(jiǎn)表,它們提供了用于特定 J2ME環(huán)境的類應(yīng)用程序接口(見圖二)。 每個(gè)配置和簡(jiǎn)表處理一般或具體的消費(fèi)產(chǎn)品,配置和簡(jiǎn)表規(guī)范是由多種多樣的設(shè)備生產(chǎn)商和用戶共同開發(fā)并建立的。配置是用于一組通用設(shè)備的最小的 Java平臺(tái), 常常歸為一種橫向的設(shè)備分組,相對(duì)來說,橫向分組設(shè)備是那些共享相同的內(nèi)存安排,通信帶寬,能量需求以及用戶能力的設(shè)備,一般認(rèn)為配置能夠提供這眾多的設(shè)備的所有需求。

圖二解釋: J2ME層次
Java虛擬機(jī)是 J2ME技術(shù)的核心,但是配置和簡(jiǎn)表提供特殊環(huán)境的類應(yīng)用程序接口。配置是用于一組通用設(shè)備的最小的 Java平臺(tái),而簡(jiǎn)表則為具體的設(shè)備家族或特別的應(yīng)用程序提供更具體的能力。
J2ME領(lǐng)域的新的開發(fā)者常常被這些事實(shí)困惑的, 事實(shí)上, Sun的第一個(gè)配置(現(xiàn)在只是一種配置的引用實(shí)現(xiàn) )帶有稱為 KVM的虛擬機(jī)引用實(shí)現(xiàn), KVM滿足配置的虛擬機(jī)的必要條件。然而, Sun的 KVM也可以被另外一個(gè)虛擬機(jī)所代替,現(xiàn)在, 正是因?yàn)榕渲煤吞摂M機(jī)結(jié)合得有點(diǎn)緊密,因此導(dǎo)致了這么多的混亂。
另一方面,簡(jiǎn)表完善了 配置,為某個(gè)具體的設(shè)備家族或某個(gè)具體的工業(yè)片段應(yīng)用程序提供更高的性能。 換言之, 簡(jiǎn)表為具體的縱向市場(chǎng)的設(shè)備比如說行動(dòng)電話提供更多的性能。這里的關(guān)鍵就是 簡(jiǎn)表必須完善 配置, 沒有 配置和虛擬機(jī)提供核心類應(yīng)用程序接口和運(yùn)行期環(huán)境的話,簡(jiǎn)表也不會(huì)工作。
通常,簡(jiǎn)表為一種給定的垂直分組設(shè)備提供用戶界面、輸入法、持久性機(jī)制。這類 簡(jiǎn)表被認(rèn)為是發(fā)展這些設(shè)備應(yīng)用程序的完整的工具包。我們見到最多的應(yīng)用程序簡(jiǎn)表的例子就移動(dòng)電話簡(jiǎn)表和個(gè)人數(shù)字助手(PDA)簡(jiǎn)表,其他簡(jiǎn)表為范圍寬廣的設(shè)備提供非常特殊的功能或應(yīng)用程序可移植性,這方面的例子就是提供遠(yuǎn)程方法調(diào)用 ( RMI )功能的簡(jiǎn)表和提供統(tǒng)一銀行事務(wù)的簡(jiǎn)表。
虛擬機(jī)、 配置、 簡(jiǎn)表…你是不是已經(jīng)被搞迷糊了? 如果這樣的話,我們就來簡(jiǎn)化一下 J2ME體系結(jié)構(gòu)吧。 如果你想為小型信息家電編寫 Java應(yīng)用程序的話,你就需要兩個(gè)前提:一個(gè) 配置和至少一個(gè) 簡(jiǎn)表。 現(xiàn)在, 一般是配置捆綁了虛擬機(jī)和一套針對(duì)你的平臺(tái)所能夠用的橫向分組設(shè)備的Java類庫。其次,你至少還需要一個(gè) 簡(jiǎn)表來為你的平臺(tái)提供附加的 Java類,這個(gè) 簡(jiǎn)表通常會(huì)為你的設(shè)備提供用戶界面、輸入和數(shù)據(jù)庫類。有了這兩個(gè)前提,你就了使用 Java為你的設(shè)備編寫應(yīng)用程序的基本的J2ME環(huán)境。
一、J2ME概述
到目前為止,大部分人都已非常熟悉 Java 2平臺(tái),以及 Sun如何把 Java技術(shù)分成三個(gè)版本 (標(biāo)準(zhǔn)版、袖珍版以及企業(yè)版),Sun 在1999年6月時(shí)推出了 Java 2袖珍版 (J2ME)來滿足消費(fèi)電子和嵌入設(shè)備的需要。 J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接 (常常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。它最初的目標(biāo)是 16位或 32位處理器,16 MHz時(shí)鐘頻率, 512K或更少內(nèi)存的設(shè)備。乍一看之下, J2ME就像一個(gè)沒有綁定明顯主題的松散的應(yīng)用程序接口和技術(shù)規(guī)范。我們想通過說它不是什么東西的方法來描述它,它不是一組用于臺(tái)式機(jī) Java應(yīng)用程序規(guī)范,如果你再觀察仔細(xì)一些,你會(huì)發(fā)現(xiàn)所有的 J2ME組件都圍繞一個(gè)中心,這些中心被稱為configuration(配置 ,Sun的市場(chǎng)營銷資料也稱它們 design centers,設(shè)計(jì)中心),它們中間的每一個(gè)都是用于消費(fèi)電子和嵌入設(shè)備的特別的類。
Connected limited device configuration(有限連接設(shè)備配置,簡(jiǎn)稱 CLDC ) 這個(gè)配置定義了 Java應(yīng)用程序接口以及支持手持設(shè)備的技術(shù),就像 Sun的文檔中所描述的那樣, " devices that you hold in your hand(你握在手中的設(shè)備) " Palm序列手持設(shè)備可能是這一領(lǐng)域的設(shè)備的最好的例子,特別是它有開發(fā) CLDC的功能以及 Palm設(shè)備運(yùn)行期系統(tǒng)可用。
Connected device configuration(連接設(shè)備配置 CDC ) 這個(gè)配置定義支持象 Sun文檔中所說, " devices that you plug into plug into the wall(你插入墻的設(shè)備)的設(shè)備的應(yīng)用程序接口和技術(shù),這樣的設(shè)備的一個(gè)例子可能就是機(jī)頂盒。
這兩種配置不同的地方就在于它們應(yīng)用于的裝置的能力, CLDC設(shè)備的處理器能力有限 (與臺(tái)式機(jī)系統(tǒng)比較 ),并且存儲(chǔ)器大小一般也只在128 KB到 512 KB之間, 與此同時(shí),CDC系統(tǒng)就不同了,它可能有 32位或 64位處理器,以及有限的存儲(chǔ)容量,不過它的下限也得超過512K。 它遵循的原則就是,每個(gè)不同的能力硬件的配置都將被不同的虛擬機(jī)支持。 基于 CDC的系統(tǒng)使用一個(gè)功能強(qiáng)勁的虛擬機(jī),而基于 CLDC系統(tǒng)的使用 KVM 。
每個(gè)配置代表一種低水平的,基本的應(yīng)用程序接口,在這兩個(gè)相似基礎(chǔ)之上是 profile(簡(jiǎn)表),用于特殊設(shè)備的額外的應(yīng)用程序接口。 我想通過看一張來自SUN提供的文檔中的圖表 (參見圖 1 )來解釋這其中的關(guān)系。

圖一解釋 配置和簡(jiǎn)表的體系結(jié)構(gòu)
J2ME的體系結(jié)構(gòu)被橫向地分成三層,縱向分成兩部分。配置包括一個(gè)控制配置核心類的虛擬機(jī), 具體的簡(jiǎn)表位于每個(gè)配置之上。
J2ME現(xiàn)在定義兩個(gè)配置, Connected Device configuration(連接設(shè)備配置 CDC )和限制性更強(qiáng)的 Connected Limited Device Configuration (有限連接設(shè)備配置)。 簡(jiǎn)表的實(shí)現(xiàn)是 Java應(yīng)用程序接口的一個(gè)集合,用于適應(yīng)被定義配置的應(yīng)用程序接口提供的服務(wù),簡(jiǎn)表是一個(gè)完整的運(yùn)行環(huán)境,一個(gè)在簡(jiǎn)表上執(zhí)行的應(yīng)用程序不需要額外的支持類。
J2ME沒有定義滿足這兩種配置的標(biāo)準(zhǔn)化用戶接口,Sun也承認(rèn)現(xiàn)在的消費(fèi)設(shè)備多種多樣,用戶界面也各不一樣,所以定義一個(gè)可用于所有用戶的界面是一場(chǎng)失敗的戰(zhàn)爭(zhēng)。 J2ME中的用戶界面定義在簡(jiǎn)表中。
二、J2ME的體系結(jié)構(gòu)
現(xiàn)在個(gè)人計(jì)算機(jī)系統(tǒng)的數(shù)量和種類已經(jīng)發(fā)展到無法控制的地步,請(qǐng)你想一想,你編寫的程序運(yùn)行在“信息家電”舞臺(tái)的情景吧,這些信息家電包括呼叫器,行動(dòng)電話,像Palm這樣的個(gè)人數(shù)字助手(PDA),電視機(jī)頂盒,POS終端以及其他的消費(fèi)電子設(shè)備�,F(xiàn)在全世界上光是手提電話生產(chǎn)商就有許多,更不用說別的家電設(shè)備了,而且每一種家電設(shè)備又有不同的特性和界面。所以,你可以想到, Java應(yīng)用程序的輕便性以及能夠解決開發(fā)這么許多不同的設(shè)備程序的能力,使大家對(duì)J2ME有很大的期許。當(dāng)然,為了更好的開發(fā)這些信息家電,就要求把Java的精髓壓縮進(jìn)一個(gè)非常小的程序包中,這就是J2ME。
J2ME是一種通過許多部件和規(guī)范的技術(shù), 這眾多的部件和規(guī)范幫助 J2ME來滿足這眾多的消費(fèi)產(chǎn)品的不同的需要。和所有的爪哇程式語言技術(shù)一樣,在它的核心屬于一種虛擬機(jī)。 就像使用所有 Java技術(shù)一樣,J2ME的核心也在一種虛擬機(jī)中。 最初,用于 J2ME應(yīng)用程序虛擬機(jī)的被稱作 Kilobyte virtual machine或簡(jiǎn)稱 KVM。就像它名稱的含義, KVM比較小,通常只有 128K或更少。這比起我們通常了解和使用的 Java 2標(biāo)準(zhǔn)版 Java虛擬機(jī) ( JVM )的 32 MB來說就小得多了。
用于連接虛擬機(jī)的是一系列配置和簡(jiǎn)表,它們提供了用于特定 J2ME環(huán)境的類應(yīng)用程序接口(見圖二)。 每個(gè)配置和簡(jiǎn)表處理一般或具體的消費(fèi)產(chǎn)品,配置和簡(jiǎn)表規(guī)范是由多種多樣的設(shè)備生產(chǎn)商和用戶共同開發(fā)并建立的。配置是用于一組通用設(shè)備的最小的 Java平臺(tái), 常常歸為一種橫向的設(shè)備分組,相對(duì)來說,橫向分組設(shè)備是那些共享相同的內(nèi)存安排,通信帶寬,能量需求以及用戶能力的設(shè)備,一般認(rèn)為配置能夠提供這眾多的設(shè)備的所有需求。

圖二解釋: J2ME層次
Java虛擬機(jī)是 J2ME技術(shù)的核心,但是配置和簡(jiǎn)表提供特殊環(huán)境的類應(yīng)用程序接口。配置是用于一組通用設(shè)備的最小的 Java平臺(tái),而簡(jiǎn)表則為具體的設(shè)備家族或特別的應(yīng)用程序提供更具體的能力。
J2ME領(lǐng)域的新的開發(fā)者常常被這些事實(shí)困惑的, 事實(shí)上, Sun的第一個(gè)配置(現(xiàn)在只是一種配置的引用實(shí)現(xiàn) )帶有稱為 KVM的虛擬機(jī)引用實(shí)現(xiàn), KVM滿足配置的虛擬機(jī)的必要條件。然而, Sun的 KVM也可以被另外一個(gè)虛擬機(jī)所代替,現(xiàn)在, 正是因?yàn)榕渲煤吞摂M機(jī)結(jié)合得有點(diǎn)緊密,因此導(dǎo)致了這么多的混亂。
另一方面,簡(jiǎn)表完善了 配置,為某個(gè)具體的設(shè)備家族或某個(gè)具體的工業(yè)片段應(yīng)用程序提供更高的性能。 換言之, 簡(jiǎn)表為具體的縱向市場(chǎng)的設(shè)備比如說行動(dòng)電話提供更多的性能。這里的關(guān)鍵就是 簡(jiǎn)表必須完善 配置, 沒有 配置和虛擬機(jī)提供核心類應(yīng)用程序接口和運(yùn)行期環(huán)境的話,簡(jiǎn)表也不會(huì)工作。
通常,簡(jiǎn)表為一種給定的垂直分組設(shè)備提供用戶界面、輸入法、持久性機(jī)制。這類 簡(jiǎn)表被認(rèn)為是發(fā)展這些設(shè)備應(yīng)用程序的完整的工具包。我們見到最多的應(yīng)用程序簡(jiǎn)表的例子就移動(dòng)電話簡(jiǎn)表和個(gè)人數(shù)字助手(PDA)簡(jiǎn)表,其他簡(jiǎn)表為范圍寬廣的設(shè)備提供非常特殊的功能或應(yīng)用程序可移植性,這方面的例子就是提供遠(yuǎn)程方法調(diào)用 ( RMI )功能的簡(jiǎn)表和提供統(tǒng)一銀行事務(wù)的簡(jiǎn)表。
虛擬機(jī)、 配置、 簡(jiǎn)表…你是不是已經(jīng)被搞迷糊了? 如果這樣的話,我們就來簡(jiǎn)化一下 J2ME體系結(jié)構(gòu)吧。 如果你想為小型信息家電編寫 Java應(yīng)用程序的話,你就需要兩個(gè)前提:一個(gè) 配置和至少一個(gè) 簡(jiǎn)表。 現(xiàn)在, 一般是配置捆綁了虛擬機(jī)和一套針對(duì)你的平臺(tái)所能夠用的橫向分組設(shè)備的Java類庫。其次,你至少還需要一個(gè) 簡(jiǎn)表來為你的平臺(tái)提供附加的 Java類,這個(gè) 簡(jiǎn)表通常會(huì)為你的設(shè)備提供用戶界面、輸入和數(shù)據(jù)庫類。有了這兩個(gè)前提,你就了使用 Java為你的設(shè)備編寫應(yīng)用程序的基本的J2ME環(huán)境。
分享:J2ME及其基本慨念如果您曾經(jīng)http://www.javasoft.com ;網(wǎng)站上查詢有關(guān)Java 2 Micro Edition 的資料,十之八九會(huì)被一大堆的技術(shù)名詞搞的一頭霧水。 什么 KVM ,什么CLDC 、CDC 、MIDP ,后面面還冒出了P
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-J2ME基礎(chǔ)詳解1
。