J2ME平臺體系結(jié)構(gòu) (J2ME) - [Matrix - 與 Java 共舞]
來自:J2MEDev mingjava
做J2ME應(yīng)用開發(fā)的程序員也許經(jīng)常會被一些名詞或者概念所迷惑,比如Personal Basic Profile和Personal Profile有什么關(guān)系?基于CLDC的應(yīng)用程序能夠無修改的移植到基于CDC的設(shè)備上嘛?要回答這些問題并不容易,因?yàn)槟惚仨毷紫冉议_J2ME平臺的神秘面紗。 & nbsp; 2000年當(dāng)J2ME平臺的CLDC發(fā)布的時候,所有的java開發(fā)者都為之興奮不已。SUN也不負(fù)眾望在兩個月后發(fā)布了基于CLDC的MIDP,給開發(fā)者提供了開發(fā)交互式應(yīng)用程序的平臺。我想現(xiàn)在國內(nèi)還主要是基于CLDC/MIDP在開發(fā)應(yīng)用吧。J2ME平臺的另一個規(guī)范CDC在大概10個月后才發(fā)布,同時發(fā)布的還有Foundation Profile。但是由于他們都沒有給開發(fā)者提供開發(fā)可交互應(yīng)用程序的API,因此他們發(fā)布的影響遠(yuǎn)遠(yuǎn)小于CLDC/MIDP的發(fā)布。大概在2003年SUN發(fā)布了基于CDC的Personal Basic Profile和Personal Profile。他們的組合替代了以前的PersonalJava平臺。
是不是已經(jīng)被這些名字弄糊涂了,我們現(xiàn)在來看J2ME平臺的結(jié)構(gòu)。J2ME平臺是本著Configuration和Profile結(jié)合來設(shè)計(jì)的。Configuration是提供支持最大范圍設(shè)備的最小的平臺。Profile是針對特定的設(shè)備提供相應(yīng)的開發(fā)包集合。在J2ME的兩個基本配置CDC和CLDC是按照如下的標(biāo)準(zhǔn)進(jìn)行區(qū)分的。 CLDC:
512 KB 以下內(nèi)存 有限能源供應(yīng)(通常使用電池) 有限或非持續(xù)網(wǎng)絡(luò)連接 簡單的用戶界面 16位或者32位的處理器 CDC:
2M以上內(nèi)存 具有網(wǎng)絡(luò)連接能力,通常為無線網(wǎng)絡(luò) 需要實(shí)現(xiàn)java虛擬機(jī)規(guī)范的全部功能 32位或者64位的處理器
從上述的要求中我們不難看出CLDC主要針對那些資源非常受限的設(shè)備比如手機(jī)、PDA、雙工尋呼機(jī)等。而CDC主要面對那些家電產(chǎn)品,比如機(jī)頂盒、汽車導(dǎo)航系統(tǒng)等。 下面我們來看看J2ME平臺的結(jié)構(gòu)圖:
我們可以看出J2ME的核心是Configuration,在它里面定義了java的虛擬機(jī),通過它來和底層的Host OS打交道。Profile提供了訪問設(shè)備的IO或者圖形界面的能力,這樣Configuration和Profile共同構(gòu)成了J2ME的運(yùn)行環(huán)境。比如CLCD/MIDP可以提供給你開發(fā)手機(jī)程序的環(huán)境。在Profile之上針對不同的設(shè)備還可以提供不同的可選開發(fā)包。 由于CLDC/MIDP大家都比較熟悉了,我們下面主要介紹一下基于CDC的J2ME系統(tǒng)構(gòu)架,同樣還是看它的系統(tǒng)圖:
基于CDC的設(shè)備可以支持全部的Java2語言規(guī)范和Java虛擬機(jī)規(guī)范,它是CLDC的超集并且遠(yuǎn)大于CLDC,因此基于CLDC的程序是可以無修改的移植到基于CDC的設(shè)備的。Foundation Profile是對CDC進(jìn)行擴(kuò)展的Profile,但是他并沒有提供GUI的開發(fā)包,GUI是在Personal Basic Profile中進(jìn)行定義的,它提供了AWT的一個子集給開發(fā)人員。它還提供了Xlet應(yīng)用程序模式――針對java TV。Personal Profile是Personal Basci Profile的超集。他提供了對Applet的支持,豐富了AWT的組件,添加了java.awt.datatransfer包。 總結(jié):上面是我對J2ME平臺進(jìn)行的闡述,我想最重要的就是Configuration/Profile的設(shè)計(jì)。理解了它就掌握了一半。如果大家有不同的意見,歡迎一起交流!
| |
|
| | |
|
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。