日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

J2ME基礎(chǔ)詳解1_JSP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦: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)系。

J2ME基礎(chǔ)詳解(1)(圖一)

圖一解釋 配置和簡(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基礎(chǔ)詳解(1)(圖二)

圖二解釋: 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)系。

J2ME基礎(chǔ)詳解(1)(圖一)

圖一解釋 配置和簡(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基礎(chǔ)詳解(1)(圖二)

圖二解釋: 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)系。

J2ME基礎(chǔ)詳解(1)(圖一)

圖一解釋 配置和簡(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基礎(chǔ)詳解(1)(圖二)

圖二解釋: 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)系。

J2ME基礎(chǔ)詳解(1)(圖一)

圖一解釋 配置和簡(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基礎(chǔ)詳解(1)(圖二)

圖二解釋: 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)系。

J2ME基礎(chǔ)詳解(1)(圖一)

圖一解釋 配置和簡(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基礎(chǔ)詳解(1)(圖二)

圖二解釋: 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教程/更新時(shí)間:2008-08-22
相關(guān)JSP教程