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

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

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

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

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

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

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

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

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

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

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