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