三大元素組成J2ME體系結(jié)構(gòu)
你對J2ME體系結(jié)構(gòu)是否了解,這里和大家分享一下,J2ME主要用于小型嵌入式設(shè)備上,這些設(shè)備與普通的PC設(shè)備相比沒有統(tǒng)一的硬件標(biāo)準(zhǔn)和操作方式,其功能也千差萬別。
1.J2ME簡介
J2ME是一種廣泛的以消費(fèi)性信息產(chǎn)品為目標(biāo)的,高度優(yōu)化的Java運(yùn)行時(shí)環(huán)境。其中的大部分類都保留了J2SE和J2EE的類,但根據(jù)移動設(shè)備的不同又優(yōu)化和更新。J2ME主要用于小型嵌入式設(shè)備上,這些設(shè)備與普通的PC設(shè)備相比沒有統(tǒng)一的硬件標(biāo)準(zhǔn)和操作方式,其功能也千差萬別。
2.J2ME體系結(jié)構(gòu)
當(dāng)前很多資料上都將J2ME的體系劃分為3個(gè)。即:JVM,配置和簡表。而有的資料上也將其分為4個(gè)部分,在配置和簡表中間又加上了一些可選包或者API等。我們針對4個(gè)層次的體系結(jié)構(gòu)做個(gè)簡單的說明:如果我們再加上一層的話就是OS層了。其中JVM,配置和簡表構(gòu)成了J2ME運(yùn)行環(huán)境。對于各個(gè)層次的詳細(xì)解釋和功能如下:
1)JVM。
在J2ME中提供了2中JVM。由于JVM是java代碼運(yùn)行時(shí)必須的,只有任何設(shè)備上有了JVM才能改很好的解釋“一次編譯,到處運(yùn)行”的關(guān)鍵技術(shù)。那么在嵌入式或移動設(shè)備中也需要JVM作為操作系統(tǒng)和java應(yīng)用程序間的接口。但是由于內(nèi)存的限制,嵌入式設(shè)備的JVM也要特殊提供。J2ME中提供的JVM分為CVM和KVM,是JVM的縮減版,KVM比CVM功能稍弱。CVMCompactVirtualMachine,最初是這種解釋的,但是后來對于C沒有任何意義了。只是CVM虛擬機(jī)主要運(yùn)行在存儲量較大的嵌入式設(shè)備,比如可視電話.POS收款機(jī)等。KVM是最小運(yùn)行時(shí)環(huán)境的一部分,也就是用于CPU和內(nèi)存較小的設(shè)備,這里的K是千字節(jié)的意思。KVM主要用于移動電話,個(gè)人數(shù)字助理(PAD)等小型設(shè)備。
2)J2ME配置簡介
當(dāng)前提供的J2ME配置有兩類,CDC和CLDC。CDC(ConnectionDeviceConfiguration)連接設(shè)備配置主要用于存儲量較大,內(nèi)存2MB以上的設(shè)備中,大多用CVM虛擬機(jī)。其用戶接口較多。網(wǎng)絡(luò)帶寬有限,所以有很多不同的簡表。而其***的特點(diǎn)就是支持浮點(diǎn)數(shù)。包含了所有CLDC中定義的類和接口。CLDC(ConnectionLimitedDeviceConfiguration)有限連接設(shè)備配置。主要用于小型的資源較小的設(shè)備中,針對內(nèi)存小于512Kb的嵌入式系統(tǒng)。采用KVM虛擬機(jī)。其特點(diǎn)是很多J2SE的類和接口沒有實(shí)現(xiàn),***的特點(diǎn)就是不支持浮點(diǎn)數(shù)。比如銀行的POS機(jī),支持浮點(diǎn)數(shù),內(nèi)存較大,肯定是CDC類的設(shè)備。而個(gè)人移動電話內(nèi)存小,肯定不支持浮點(diǎn)數(shù)。用的就是KVM虛擬機(jī)。
3)MIDP(MobileInformationDeviceProfile)移動信息設(shè)備簡表
這里主要針對的是CLDC設(shè)備。包含3個(gè)生命周期和事件處理等機(jī)制。Paused狀態(tài):程序處于暫停狀態(tài),方法:pauseApp();Actived狀態(tài):程序處于運(yùn)行活動狀態(tài)。方法startApp()Destroy狀態(tài):程序運(yùn)行銷毀結(jié)束前的狀態(tài)。DestroyApp();MIDP包含其他事件處理狀態(tài)和機(jī)制。接下來我會通過一個(gè)程序(最簡單的HelloWorld)詳細(xì)介紹MIDP的機(jī)制。這里就簡單的介紹完J2ME的體系結(jié)構(gòu)。具體細(xì)節(jié)問題還需要多看關(guān)于J2ME的書籍才能夠詳細(xì)了解。
【編輯推薦】
- J2ME代碼優(yōu)化的兩種方案
- J2ME開發(fā)環(huán)境搭建必備手冊
- J2ME開發(fā)環(huán)境的搭建和運(yùn)行
- 瞻望J2ME前景,看J2ME路在何方?
- Java2平臺J2SE、J2EE、J2ME三大版本的區(qū)別