J2ME編程中的幾個(gè)重要概念介紹
我們都知道,Java ME 以往稱作J2ME(Java Platform,Micro Edition),是為機(jī)頂盒、移動(dòng)電話和PDA之類嵌入式消費(fèi)電子設(shè)備提供的Java語(yǔ)言平臺(tái),包括虛擬機(jī)和一系列標(biāo)準(zhǔn)化的Java API。它和Java SE、Java EE一起構(gòu)成Java技術(shù)的三大版本,并且同樣是通過(guò)JCP(Java Community Process)制訂的。
J2ME平臺(tái)中有幾個(gè)重要的概念,例如內(nèi)存、CLDC、MIDP等。初學(xué)J2ME往往對(duì)這些概念理解不深,甚至出現(xiàn)偏差。本文的目的在于對(duì)J2ME中的相關(guān)重要概念進(jìn)行闡述。
1. 內(nèi)存
我們一直在強(qiáng)調(diào),移動(dòng)信息設(shè)備的內(nèi)存非常小,使用起來(lái)應(yīng)該加倍的珍惜,但是我們卻很少知道這些內(nèi)存是如何分類的,下面將做詳細(xì)的介紹。事實(shí)上MIDP設(shè)備的內(nèi)存分為三種,Programme Memory、Heap、persistent Storage。
Programme Memory是移動(dòng)信息設(shè)備分配給MIDlet suite的空間,因?yàn)镸IDlet suite是以jar文件進(jìn)行發(fā)布的,所以這個(gè)文件的大小可以認(rèn)為是Programme Memory的大小。一些廠商對(duì)Programme Memory的最大值是有限制的,例如我的Nokia 6108的最大值是 64k,超過(guò)的話將不能進(jìn)行安裝。減小MIDlet suite的大小非常重要,一個(gè)便捷的方法就是使用混淆器對(duì)應(yīng)用程序進(jìn)行混淆,這樣可以減小jar文件的大小。在以后的文章中我會(huì)談到如何使用Proguard。
Heap是應(yīng)用程序在運(yùn)行過(guò)程中存放所創(chuàng)建的對(duì)象的存儲(chǔ)空間,本地變量和成員變量也是放在Heap上的,MIDP設(shè)備中提供的Heap空間大概在幾十k到幾百K。
Persistent Storage的空間是用來(lái)實(shí)現(xiàn)MIDP應(yīng)用程序的本地?cái)?shù)據(jù)持久性存儲(chǔ)的,在Record Management System從入門到精通中我做了詳細(xì)的介紹這里就不再多說(shuō)了。
2. Connected Limited Device Configuration
CLDC包括一個(gè)Java虛擬機(jī)和一系列的基礎(chǔ)類,J2ME的專家組經(jīng)過(guò)對(duì)移動(dòng)信息設(shè)備進(jìn)行硬件抽象后得到他們的特點(diǎn),然后設(shè)計(jì)并實(shí)現(xiàn)了在移動(dòng)信息設(shè)備上運(yùn)行的java虛擬機(jī),通常我們把它叫做KVM。在CLDC1.0還同時(shí)提供了由java.io、java.lang、javax.microediton.io、java.util組成的基礎(chǔ)類。在CLDC1.1里面添加了java.lang.ref。
3. Mobile Infomation Device Profile
MIDP是運(yùn)行在CLDC基礎(chǔ)之上的,在MIDP中定義了應(yīng)用程序的生命周期、用戶圖形界面、數(shù)據(jù)管理系統(tǒng)等子集,從而構(gòu)建起了J2ME平臺(tái)。通常,J2ME平臺(tái)由一個(gè)CLDC和一個(gè)或者多個(gè)Profile構(gòu)成。
希望通過(guò)以上內(nèi)容的介紹,讓你能更好的應(yīng)用J2ME平臺(tái)。
- J2EE 開(kāi)發(fā)購(gòu)物網(wǎng)站 經(jīng)驗(yàn)篇 - 建表
- J2SE中的序列化的認(rèn)識(shí)
- [J2SE]Java中3DES加密解密調(diào)用示例
- J2ME/J2EE實(shí)現(xiàn)用戶登錄交互 實(shí)現(xiàn)代碼
- JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理
- J2SE與c#的幾點(diǎn)比較
- J2EE項(xiàng)目代碼編寫(xiě)規(guī)范分享
- Eclipse配置Tomcat和JDK步驟圖解
- 在Ubuntu系統(tǒng)下安裝JDK和Tomcat的教程
- JDK、J2EE、J2SE、J2ME四個(gè)易混淆概念區(qū)分
相關(guān)文章
IntellJ idea使用FileWatch實(shí)時(shí)編譯less文件的方法
這篇文章主要介紹了IntellJ idea使用FileWatch實(shí)時(shí)編譯less文件的相關(guān)資料,需要的朋友可以參考下2018-02-02Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決
這篇文章主要介紹了Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java servlet、filter、listener、interceptor之間的區(qū)別和聯(lián)系
這篇文章主要介紹了Java servlet、filter、listener、interceptor之間的區(qū)別和聯(lián)系的相關(guān)資料,需要的朋友可以參考下2016-11-11spring-boot通過(guò)@Scheduled配置定時(shí)任務(wù)及定時(shí)任務(wù)@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過(guò)@Scheduled配置定時(shí)任務(wù),文中還給大家介紹了springboot 定時(shí)任務(wù)@Scheduled注解的方法,需要的朋友可以參考下2017-11-11spring源碼學(xué)習(xí)之bean的初始化以及循環(huán)引用
這篇文章主要給大家介紹了關(guān)于spring源碼學(xué)習(xí)之bean的初始化以及循環(huán)引用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10spring @Cacheable擴(kuò)展實(shí)現(xiàn)緩存自動(dòng)過(guò)期時(shí)間及自動(dòng)刷新功能
用過(guò)spring cache的朋友應(yīng)該會(huì)知道,Spring Cache默認(rèn)是不支持在@Cacheable上添加過(guò)期時(shí)間的,雖然可以通過(guò)配置緩存容器時(shí)統(tǒng)一指定,本文主要介紹了如何基于spring @Cacheable擴(kuò)展實(shí)現(xiàn)緩存自動(dòng)過(guò)期時(shí)間以及緩存即將到期自動(dòng)刷新,2024-02-02