亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

J2ME(CLDC/MIDP)簡介

2019-11-18 12:45:00
字體:
來源:轉載
供稿:網友

  名詞梳理
  在正式開始介紹J2ME之前,這里我列出一些常見名詞,方便與下文參照:
  
  J2ME(java2 Platform, Micro Edition) Java2平臺微型版
  
  CLDC(Connected, Limited Device Configuration) 連接受限設備配置
  
  CDC(Connected Device Configuration)連接設備配置
  
  MIDP(Mobile Information Device PRofile) 移動信息設備描述
  
  KVM(The K Virtual Machine) K虛擬機
  
  背景
  隨著無線應用與嵌入式系統的愈來愈受到人們的重視,SUN也推出了J2ME(Java2 Platform, Micro Edition)來迎合這一未來的發展趨勢。
  
  實際上這道也不能算是最新推出,熟悉Java歷史的人都知道,Java原先本是為了開發消費性電子產品而研制的。誰知,無心插柳柳成蔭,因在網絡應用上的出色表現而流行,以至到現在的在serverside上的應用,如J2EE、EJB等等,發展的越來越龐大。這次sun又推出了J2ME,這實質是殺了個回馬槍。至于實際表現如何,我們還得拭目以待。
  
  sun認為,未來的信息設備將比我們今天的更為customizable 和 personal。這一點我們已經可以從手機和pda的流行程度看出。所以為了開發面向這些設備的applications。sun推出了J2ME。于是現有的Java版本變為了三個:J2EE ,J2SE和J2ME,分別對應與不同的目標設備,如下圖所示。
  
 J2ME(CLDC/MIDP)簡介(圖一)

  
圖1 Java版本的劃分和針對的設備

  
  CLDC/MIDP的基本結構
  粗略的說j2me把設備分為兩類,一種是聯接設備( connected device),一種是有限聯接設備(Connected, Limited Device)。前一種對應于那些有電源的,電力充裕,較大的設備。例如:電視機,冰箱等,后一種對應于主要使用電池,小型的設備,例如:手機,pda等。
  
  這里我主要只涉及第二種,有限聯接設備(Connected, Limited Device)。
  
  sun把J2me的實現分為兩層:configuration 和 profile。
  
  configuration包括虛擬機(virtual machine),核心的類庫與API。configuration層定義一個java虛擬機的特性與java類庫的最小子集。也就是說,configuration層提供了開發人員一個最基礎,最核心的Java平臺。因為j2me把設備分為兩類:聯接設備(connected device)和有限聯接設備(Connected, Limited Device)。對應這兩種設備就有了兩種J2ME configuration。分別為CDC(Connected Device Configuration)和CLDC(Connected, Limited Device Configuration)。這里請注重,CDC使用經典的javaVM,而CLDC使用的是KVM(The K Virtual Machine)。KVM是sun專門為使用16/32位RISC/CISC微處理器或控制器,并其可用內存為160kb~512kb的的設備而開發的。KVM比較小,通常只有128K或更少。
  
  Profile層也包含一組API,主要針對于特定的某一族系的設備而定義。profile層在特定的
  configuration層上實現,而我們程序員則負責在特定的profile上編寫應用程序。對于手機,pda等Connected, Limited Device。它們的profile層稱為MIDP(Mobile Information Device Profile)。于是MIDP與CLDC合在一起就構成了一個完整的J2ME架構。順便說一句,對于MIDP上的應用程序sun也有獨特的叫法,它們被稱為MIDlet。你是不是覺得有點眼。想想java中的applet。下圖顯示了開發手機應用的結構。
  
 J2ME(CLDC/MIDP)簡介(圖二)

  
圖2 CLDC/MIDP的結構

  
  深入理解CLDC/MIDP
  CLDC的目的
  
  為小型的,且資源有限,Connected Limited的設備定義一個標準的Java平臺。
  答應動態的向這些設備發布內容與應用程序。
  方便第三方軟件廠商與開發者向這些設備移植內容與應用程序。
  CLDC的范圍
  
  Java語言與虛擬機的特性
  核心Java類庫(如java.lang.*, java.util.*)
  輸入/輸出
  對網絡的支持
  對安全性的支持
  對國際化的支持
  CLDC不包括的范圍(即由MIDP解決的)
  
  對應用程序life-cycle的治理(就是指一個應用程序是如何安裝,運行,刪除的)
  UI界面(User Interface)
  Event處理
  高級應用程序模式(這里指用戶與應用程序的交互)。
  CLDC的安全性
  
  低端的基于虛擬機的安全性由下載時對class文件的審核(verification)步驟來保證。(假如你寫過并編譯過MIDlet程序,就會知道這一步是必須的。這里有一個概念就行了,我會在后面講述如何創建MIDlet程序時,具體介紹具體的步驟)?;趹贸绦虻陌踩酝ㄟ^使每個應用程序分別運行在相對獨立的封閉環境中來保證并且處于被保護的系統package中的類不能被應用程序重載(overridded)。
  
  對于Java語言支持的非凡方面
  CLDC總的來說是與Java語言完全兼容的,但需注重以下幾點:
  
  不支持浮點數據類型(即沒有float和double)(這實際上主要是由于CLDC所面向的設備,其硬件因其內存限制或是基于安全性的考慮不支持浮點運算)
  
  不支持類實例(class instance)的終結(finalization),即不存Object.finalize()方法。(注:finalization指的是java中提供的有別與garbage collection的另外的一種對象清理方法。具體可參看侯捷老師譯的BrUCe Eckel的《Thinking in Java 第二版》,可以在www.jjhou.com中下載)
  
  有限的錯誤處理,即大部分Java.lang.Error的子類都未被支持。與此相反,CLDC包括了相當完備的異常(exception)類。
  
  對于Java虛擬機(Java Virtual Machine)支持的非凡的方面
  
  實質上CLDC在其嚴格的內存限制下達到了對Java虛擬機相當程度的兼容性。不過還是有下列不同點:
  
  不支持浮點數據類型(沒有float和double)
  不支持JNI (the Java Native Interface )不支持用戶自定義的Java級的類載入器(class loaders )
  沒有反射(reflection)特性(注:reflection指java通過java.lang.reflect提供的,可以對類的能力進行分析的功能。常用來對類的結構進行檢查,在JavaBeans上有廣泛運用可參見Gary Cornell的Core Java2 volumeI,II,機工有出中譯本)
  不支持線程組(thread groups)或守護線程(daemon threads)
  不支持類實例(class instance)的終結(finalization)
  沒有弱參考(weak references)(注:weak reference提供了一種解決指向已經被garbage collector清除的對象的方法。在Java2中被介紹。具體請參考java.lang.ref API 文檔,和sun網站上關于Reference Objects和Garbage Collection的文章。)
  有限的錯誤處理(error handling)
  類文件審核過程(classfiles Verification)
  
  CLDC要求其下層的虛擬機能夠辨別并拒絕非法的class文件。但由于CLDC本身面向小內存消耗的小型設備這一前提。其類文件檢測機制與J2SE中定義的標準類文件審核機制還有所不同。請注重看下圖:
  
 J2ME(CLDC/MIDP)簡介(圖三)

  
圖3 CLDC的類審核機制

  請注重上圖所示CLDC中的預審核(preverification)過程。這是CLDC區別于通常的類文件審核過程的要害。如上圖所示,當源程序被編譯后,必須被預審核器預審核,然后才能被下載到目標設備上去。之所以有這一步驟,主要是為了減輕KVM中審核器的負擔,加快審核速度。就像我前文提到的,這是出于對CLDC支持的硬件的考慮(究竟手機和PDA并沒有我們PC機那樣奔騰的“芯”呀!^-^)。這里記住這個概念就行了。具體的操作方法我會在以后講述編寫MIDlet程序時介紹。
  
  CLDC的類庫API
  假如不嚴格的說,CLDC的類庫是J2SE的一個小的子集,有以下這種近似關系成立,即J2SE包含CDC包含CLDC。但要注重CLDC并未完全包含于J2SE,它還包括一些專門針對無線設施的類。所以可以把CLDC的類庫簡要劃分為兩部分:從J2SE繼續的類和CLDC專有的類。
  
  1. 從J2SE繼續的類
  
  這部分包括三個package,即java.lang,java.util和java.io。注重即使這些從J2SE繼續的的類,也是大大“縮了水”的。例如java.util的類與接口由J2SE的47個縮減到10個。另外兩個也有相應縮減。
  
  系統類
  
  From java.lang:
  Object, Class, Runtime, System, Thread, Runnable,
  String, StringBuffer, Throwable
  
  數據類型類
  
  From java.lang:
  Boolean, Byte, Short, Integer, Long, Character
  
  容器類(container class)
  
  From java.util:
  Vector, Stack, Hashtable, Enumeration
  
  I/O 類
  
  From java.io:
  InputStream, OutputStream, ByteArrayInputStream,
  ByteArrayOutputStream, DataInput, DataOutput,
  DataInputStream, DataOutputStream, Reader, Writer,
  InputStreamReader, OutputStreamWriter, PrintStream
  
  日期與時間類
  
  From java.util:
  Calendar, Date, TimeZone
  
  附加的實用類
  
  java.util.Random, java.lang.Math
  
  異常類(Exception Classes)
  
  From java.lang:
  Exception, ClassNotFoundException,
  IllegalaccessException, InstantiationException,
  InterruptedException, RuntimeException,
  ArithmeticException, ArrayStoreException,<

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
超薄丝袜一区二区| 亚洲成人av片在线观看| 亚洲美女在线视频| 成人性生交xxxxx网站| 日韩免费中文字幕| 欧美性精品220| 亚洲精品一区二三区不卡| 国产丝袜一区二区三区免费视频| 2021久久精品国产99国产精品| 欧美电影免费观看高清完整| 亚洲精品国产精品国自产在线| 精品久久久久久久久久| 欧美一级bbbbb性bbbb喷潮片| 一道本无吗dⅴd在线播放一区| 亚洲午夜未满十八勿入免费观看全集| 日韩中文字幕久久| 欧美高清第一页| 精品无人国产偷自产在线| 成人写真福利网| 国外日韩电影在线观看| 日韩经典中文字幕在线观看| 亚洲欧洲午夜一线一品| 国产中文字幕亚洲| 日韩精品亚洲视频| 久久久国产成人精品| 尤物九九久久国产精品的特点| 亚洲欧美一区二区三区情侣bbw| 国产精品国产福利国产秒拍| 久久久久久久久久久免费| 国产精品美女www爽爽爽视频| 国产一区二区在线免费视频| 精品女厕一区二区三区| 91免费精品视频| 青青久久aⅴ北条麻妃| 成人国产在线视频| 成人xvideos免费视频| 日本精品久久中文字幕佐佐木| 九九久久久久久久久激情| 亚洲国产成人av在线| 川上优av一区二区线观看| 亚洲第一精品夜夜躁人人躁| 亚洲精品视频久久| 亚洲人成网站在线播| 欧美日韩午夜激情| 亚洲自拍av在线| 亚洲激情视频网| 亚洲国产精品yw在线观看| 91伊人影院在线播放| 亚洲性生活视频在线观看| 日日噜噜噜夜夜爽亚洲精品| 亚洲国产精品久久久| 九九热这里只有精品6| 国产精品免费久久久| 91精品久久久久久久久不口人| 亚洲精品日产aⅴ| 欧美巨乳在线观看| 国产成人精品久久| 97精品国产91久久久久久| 欧美激情中文字幕在线| 久久久久久美女| 欧美激情国产日韩精品一区18| 久久亚洲国产精品成人av秋霞| 久久影院模特热| 亚洲视频第一页| 国产精品美女久久久久av超清| 国产精自产拍久久久久久| 自拍偷拍亚洲精品| 日韩成人激情影院| 亚洲成人网av| 欧美疯狂性受xxxxx另类| 久久国产精品影片| wwwwwwww亚洲| 欧美精品久久久久a| 亚洲国产精品系列| 在线色欧美三级视频| 国产欧美一区二区| 欧美激情亚洲激情| 2020国产精品视频| 成人福利网站在线观看| 国产精品成人aaaaa网站| 亚洲欧美日韩爽爽影院| 成人自拍性视频| 久久6免费高清热精品| 欧美成人精品xxx| 成人精品久久av网站| 欧美成人三级视频网站| 国产亚洲欧美一区| 欧美激情精品久久久久久免费印度| 亚洲欧洲第一视频| 亚洲成人精品av| 美女av一区二区| 永久免费毛片在线播放不卡| 国产视频久久久久| 国产日产久久高清欧美一区| 国产欧美一区二区三区四区| 亚洲男女性事视频| 69**夜色精品国产69乱| 国产精品27p| 国产精品中文久久久久久久| 久久久久久999| 色七七影院综合| 91精品国产乱码久久久久久蜜臀| 日韩激情av在线免费观看| zzijzzij亚洲日本成熟少妇| 韩国精品美女www爽爽爽视频| 韩日欧美一区二区| 日韩精品视频在线播放| 69av在线播放| 欧美精品videos另类日本| 日韩资源在线观看| 国产精品福利网站| 成人写真视频福利网| 97人人爽人人喊人人模波多| 久操成人在线视频| 国产成人精品网站| 亚洲国产欧美久久| 韩国日本不卡在线| 欧美成人午夜激情在线| 88国产精品欧美一区二区三区| 久久精品视频va| 欧美成人免费在线视频| 色黄久久久久久| 欧美另类第一页| 亚洲电影免费观看高清完整版| 色偷偷噜噜噜亚洲男人| 懂色av影视一区二区三区| 国产精品揄拍一区二区| 欧美成人免费在线视频| 日韩欧美在线播放| 北条麻妃一区二区三区中文字幕| 欧美亚洲一级片| 国产精品成人一区二区| www.亚洲男人天堂| 美女啪啪无遮挡免费久久网站| 欧美日韩国产在线看| 欧美亚洲国产精品| 欧美老女人在线视频| 国产不卡精品视男人的天堂| 欧美二区乱c黑人| 91精品国产乱码久久久久久久久| 日韩av免费看| 91麻豆桃色免费看| 国产精品亚洲一区二区三区| 国产精品久久久久9999| 久久成人精品电影| 国产不卡精品视男人的天堂| 欧美日韩亚洲国产一区| 国产精品视频一区国模私拍| 超碰97人人做人人爱少妇| 亚洲欧洲在线免费| 综合国产在线观看| 久久91超碰青草是什么| 国产亚洲成精品久久| 国产情人节一区| 国产欧美日韩精品丝袜高跟鞋| 欧美午夜精品久久久久久浪潮| 国产裸体写真av一区二区| 欧美极品在线视频| 综合136福利视频在线| 日韩国产欧美精品在线| 自拍偷拍免费精品| 奇米4444一区二区三区| 欧美在线影院在线视频| 九九热视频这里只有精品|