国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

J2ME應用基礎

2019-11-18 15:53:54
字體:
來源:轉載
供稿:網友

  自從1995年面世以來,已經大大超出了最初Applet應用范疇,在java發布兩年后Sun公司推出了主要針對于企業級應用的J2EE(Java 2 EnterPRise Edition),而最近加入到Java產品家族的是J2ME(Java 2 Micro Edition),它的目標直指所謂的“信息設備”,包括電視機頂盒到移動電話的一系列產品。
  Java版本
  目前Java主要包括以下三種版本:
  ● 標準版(J2SE):運行在桌面電腦和工作站上;
  ● 企業版(J2EE):內置支持Servlets,jspxml,主要針對服務器端應用;
  ● 簡化版(J2ME):針對那些具有有限存儲、小顯示以及有限處理能力的設備。
  注釋:1998年12月,Sun提出了"Java 2"(J2)這個名字來指Java 1.2 這個版本。現在這個名字已經應用到所有的Java版本中,包括標準版(J2SE),企業版(J2EE)和簡化版(J2ME)。 
   J2ME應用基礎(圖一)
  圖1 Java的不同版本
  為什么使用J2ME?
  J2ME主要針對那些具有有限處理能力的設備。許多這類設備(比如手機、傳呼機等)原來并沒有提供下載和安裝軟件的功能,但是隨著J2ME的引入,這一切都得到了改變,J2ME使得這些設備具有了瀏覽,下載以及安裝Java程序的功能。
  
  這些小的消費類電子設備正靜靜地改變著我們的生活。而且,隨著它們對Java的支持,你就可以使用Java語言的許多優秀特性,簡單,跨平臺,安全健壯,更不用說超過200萬使用者的經驗和信心啦。
  
  盡管在這些小型設備上使用完整的J2SE API是令人興奮的,但卻是不現實的。想想看,手機的小屏幕是沒辦法讓Java AWT(Abstract Window Toolkit)施展拳腳的。于是不同于J2SE和J2EE的Java簡化版就產生了,這就是J2ME。
  
  我們知道,J2ME應用的設備性能千差萬別。一個因特網Screenphone(一種訪問郵件,新聞,在線銀行業務等的設備)擁有比一尋呼機大得多的顯示屏。有時即使外形相當,性能也會有很大差異。一個移動電話和PDA同樣在物理大小上被限制,然而一個典型移動電話支持12288像素(96 x128)顯示,PDA卻至少可以支持20000像素。
  
  那J2ME是怎么能夠支持這些設備的呢?
  
  J2ME定義了兩種類型的規范:配置(configurations)和子集(profiles),由它們來協同提供對各種設備的支持。
  
  配置(Configurations)
  
  一個Configuration定義了針對一系列設備的Java平臺。Congiguration與Java 虛擬機(JVM)緊密聯系。實際上,Configuration就是定義了Java的語言特性和JVM的核心類庫。
  
  不同的Configuration應用分類主要基于設備以下幾個方面的考慮:內存,顯示,網絡連接和處理能力。
  
  在Sun的J2ME FAQ中這樣形象地定義:J2ME技術主要針對兩種設備:你拿在手里的,你插到墻上的。確實如此,但這只是個很籠統的說法,實際應用過程中不要受此約束。
  
  下面介紹兩種典型的Configurations:
  
  ● 連接設備配置(CDC)
  
  至少512KB內存運行Java;
  
  至少256KB供運行時存儲分配;
  
  持續穩定和高帶寬的網絡連接(相對于CLDC來說)。
  
  ● 連結有限設備配置(CLDC)
  
  128KB內存運行Java;
  
  32KB供運行時存儲分配;
  
  受限制的用戶接口;
  
  能量有限,主要以電池提供能量;
  
  網絡連接可能是窄帶寬、不穩定的,且以無線連接為主。
  
  雖然這個劃分似乎相當清楚,CDC針對機頂盒之類高端設備,而CLDC主要針對移動電話、PDA和傳呼機等低端設備,但不必拘泥于此。隨著技術的不斷進步,兩者之間的界限也越來越模糊。
  
  ● 子集(Profiles)
  
  一個Configuration涵蓋的設備很復雜,各種設備的性能也大不一樣,可能對于某種設備來說的限制在其他設備看來就不是什么問題。前面我們提到移動電話和PDA都符合CLDC的要求,但是還記得開頭部分我們對它們的顯示性能做的對比嗎?為了應付這些不同,Sun又提出了Profile這個概念。
  
  假如說Configuration是從大的方面給這些設備分類的話,那么Profiles就是在特定的Configuration上再細分,是對Configuration的延伸和拓展。它提供給開發者在特定類型設備上開發的類庫。比如說,移動信息設備子集MIDP(Mobile Information Device Profile)就是綜合考慮了移動設備的屏幕和內存限制,定義了一些用戶接口組件,輸入和事件處理,存儲,網絡和計時方面的APIs。
  
  Configurations和Profiles是如何被開發出來的?
  
  J2ME FAQ(http://java.sun.com/j2me/faq.Html)的節錄:這些工作都是由JCP(Java Community Process)來完成的,更多信息請查看:http://jcp.org。
  Java虛擬機
  我們知道,任何Java程序都是在JVM中被執行的。那么對于J2ME來說,情況又是如何呢?CDC仍然使用與J2SE相同的JVM,對于CLDC,由于設備資源受到限制,Sun專門開發了一個新的名叫KVM(K Virtual Machine)的虛擬機。這是個不同于傳統的Java虛擬機:
  
  ● 虛擬機本身僅僅需要40-80KB內存;
  
  ● 只需要20-40KB動態內存(堆);
  
  ● 能夠運行在16位25MHz處理器上。
  
  當然KVM只是一個由Sun實現的符合CLDC規范的Java虛擬機而已,它并不是唯一的,還存在很多類似的虛擬機,你也完全可以自己實現一個這樣的虛擬機,只要它符合CLDC規范就可以。
  KVM和CLDC是如何聯系在一起的?
  摘自Sun的文檔:“CLDC是對能運行在由它和相關profiles界定的設備上的Java虛擬機的規格說明”,言下之意就是虛擬機必須滿足CLDC規范要求。KVM即是其中一個。
  J2ME整體架構
  前面我們大致地了解啦一下J2ME的各個方面,現在讓我們從整體上來看看J2ME。
  通用J2ME架構
   J2ME應用基礎(圖二)
  圖2 通用J2ME架構
  MIDP架構
  在這個通用架構基礎之上,我們可以衍生出不同的應用類型,現在比較流行的就是MIDP架構。
  J2ME應用基礎(圖三)
  圖3 MIDP架構
  Java版本間兼容性
  Java有句名言:“編寫一次,隨處運行”(Write Once,Run Anywhere),也有人戲稱為"Write Once,Debug Anywhere",那我們想問問:對于J2ME來說,這依然成立嗎?答案是在某種程度上是對的。
  J2SE應用能在J2ME上運行嗎?
  J2ME基本上可以算作J2SE的一個簡化版本,J2SE中的很多功能J2ME并沒有提供,所有說只有當你編寫的J2SE程序只采用J2ME中有的類并且嚴格遵守J2ME規范,它才可能在J2ME上運行,不過那樣的程序是毫無意義的。
  J2ME應用能在J2SE上運行嗎?
  和上面同理,只要你的J2ME程序只采用兩個平臺共同具有的特性,就可以正常運行。但是要知道,J2ME應用中的大部分都是針對特定設備的應用接口和事件處理。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 酉阳| 饶河县| 保山市| 重庆市| 宁阳县| 高州市| 克什克腾旗| 肥西县| 新干县| 剑阁县| 申扎县| 房产| 西贡区| 贡山| 雷波县| 鄢陵县| 含山县| 靖江市| 彭山县| 射阳县| 竹北市| 拜泉县| 泸定县| 桐庐县| 洱源县| 宁都县| 巴中市| 囊谦县| 花莲市| 葵青区| 越西县| 柳州市| 资兴市| 诸城市| 沈阳市| 彭山县| 奉节县| 洞口县| 蒲江县| 远安县| 沂源县|