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