六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Java嵌入式開發講座(第二講)

[摘要]第一節 引言 J2ME概述   到目前為止,大部分人都已非常熟悉 Java 2平臺,以及 Sun如何把 Java技術分成三個版本(標準版、袖珍版以及企業版),Sun 在1999年6月時推出了 Java 2袖珍版 (J2ME)來滿足消費電子和嵌入設備的需要。J2ME是為了那些使用有限的能源、有限的網...
第一節 引言 J2ME概述

  到目前為止,大部分人都已非常熟悉 Java 2平臺,以及 Sun如何把 Java技術分成三個版本(標準版、袖珍版以及企業版),Sun 在1999年6月時推出了 Java 2袖珍版 (J2ME)來滿足消費電子和嵌入設備的需要。J2ME是為了那些使用有限的能源、有限的網絡連接 (常常是無線連接)以及有限圖形用戶界面能力的設備開發的。它最初的目標是 16位或 32位處理器,16 MHz時鐘頻率,512K或更少內存的設備。乍一看之下,J2ME就像一個沒有綁定明顯主題的松散的應用程序接口和技術規范。我們想通過說它不是什么東西的方法來描述它,它不是一組用于臺式機Java應用程序規范,如果你再觀察仔細一些,你會發現所有的 J2ME組件都圍繞一個中心,這些中心被稱為configuration(配置 ,Sun的市場營銷資料也稱它們 design centers,設計中心),它們中間的每一個都是用于消費電子和嵌入設備的特別的類。

  Connected limited device configuration(有限連接設備配置,簡稱 CLDC ) 這個配置定義了 Java應用程序接口以及支持手持設備的技術,就像 Sun的文檔中所描述的那樣, " devices that you hold in your hand(你握在手中的設備) " Palm序列手持設備可能是這一領域的設備的最好的例子,特別是它有開發 CLDC的功能以及 Palm設備運行期系統可用。

  Connected device configuration(連接設備配置 CDC ) 這個配置定義支持象 Sun文檔中所說, " devices that you plug into plug into the wall(你插入墻的設備)的設備的應用程序接口和技術,這樣的設備的一個例子可能就是機頂盒。

  這兩種配置不同的地方就在于它們應用于的裝置的能力, CLDC設備的處理器能力有限 (與臺式機系統比較 ),并且存儲器大小一般也只在128 KB到 512 KB之間, 與此同時, CDC系統就不同了,它可能有 32位或 64位處理器,以及有限的存儲容量,不過它的下限也得超過512K。 它遵循的原則就是,每個不同的能力硬件的配置都將被不同的虛擬機支持。 基于 CDC的系統使用一個功能強勁的虛擬機,而基于 CLDC系統的使用 KVM (我過會兒會介紹)。

  每個配置代表一種低水平的,基本的應用程序接口,在這兩個相似基礎之上是 profile用于特殊設備的額外的應用程序接口。

  J2ME現在定義兩個配置, Connected Device configuration(連接設備配置 CDC )和限制性更強的 Connected Limited Device Configuration (有限連接設備配置)。 簡表的實現是 Java 應用程序接口的一個集合,用于適應被定義配置的應用程序接口提供的服務,簡表是一個完整的運行環境,一個在簡表上執行的應用程序不需要額外的支持類。

  J2ME沒有定義滿足這兩種配置的標準化用戶接口,Sun也承認現在的消費設備多種多樣,用戶界面也各不一樣,所以定義一個可用于所有用戶的界面是一場失敗的戰爭。J2ME中的用戶界面定義在簡表中。

  第二節 J2ME的體系結構

  現在個人計算機系統的數量和種類已經發展到無法控制的地步,請你想一想,你編寫的程序運行在“信息家電”舞臺的情景吧,這些信息家電包括呼叫器,行動電話,像Palm這樣的個人數字助手(PDA),電視機頂盒,POS終端以及其他的消費電子設備。現在全世界上光是手提電話生產商就有許多,更不用說別的家電設備了,而且每一種家電設備又有不同的特性和界面。所以,你可以想到, Java應用程序的輕便性以及能夠解決開發這么許多不同的設備程序的能力,使大家對J2ME有很大的期許。當然,為了更好的開發這些信息家電,就要求把Java的精髓壓縮進一個非常小的程序包中,這就是J2ME。

  J2ME是一種通過許多部件和規范的技術, 這眾多的部件和規范幫助 J2ME來滿足這眾多的消費產品的不同的需要。和所有的爪哇程式語言技術一樣,在它的核心屬于一種虛擬機。 就像使用所有 Java技術一樣,J2ME的核心也在一種虛擬機中。 最初,用于 J2ME應用程序虛擬機的被稱作 Kilobyte virtual machine或簡稱 KVM。就像它名稱的含義, KVM比較小,通常只有 128K或更少。這比起我們通常了解和使用的 Java 2標準版 Java虛擬機 ( JVM )的 32 MB來說就小得多了。

  用于連接虛擬機的是一系列配置和簡表,它們提供了用于特定 J2ME環境的類應用程序接口(見圖二)。 每個配置和簡表處理一般或具體的消費產品,配置和簡表規范是由多種多樣的設備生產商和用戶共同開發并建立的。配置是用于一組通用設備的最小的 Java平臺, 常常歸為一種橫向的設備分組,相對來說,橫向分組設備是那些共享相同的內存安排,通信帶寬,能量需求以及用戶能力的設備,一般認為配置能夠提供這眾多的設備的所有需求。J2ME領域的新的開發者常常被這些事實困惑的, 事實上, Sun的第一個配置(現在只是一種配置的引用實現 )帶有稱為KVM的虛擬機引用實現, KVM滿足配置的虛擬機的必要條件。然而, Sun的 KVM也可以被另外一個虛擬機所代替,現在, 正是因為配置和虛擬機結合得有點緊密,因此導致了這么多的混亂。

  另一方面,簡表完善了 配置,為某個具體的設備家族或某個具體的工業片段應用程序提供更高的性能。 換言之, 簡表為具體的縱向市場的設備比如說行動電話提供更多的性能。這里的關鍵就是 簡表必須完善 配置, 沒有 配置和虛擬機提供核心類應用程序接口和運行期環境的話,簡表也不會工作。

  通常,簡表為一種給定的垂直分組設備提供用戶界面、輸入法、持久性機制。這類 簡表被認為是發展這些設備應用程序的完整的工具包。我們見到最多的應用程序簡表的例子就移動電話簡表和個人數字助手(PDA)簡表,其他簡表為范圍寬廣的設備提供非常特殊的功能或應用程序可移植性,這方面的例子就是提供遠程方法調用 ( RMI )功能的簡表和提供統一銀行事務的簡表。

  虛擬機、 配置、 簡表…你是不是已經被搞迷糊了? 如果這樣的話,我們就來簡化一下J2ME體系結構吧。 如果你想為小型信息家電編寫Java應用程序的話,你就需要兩個前提:一個配置和至少一個 簡表。 現在, 一般是配置捆綁了虛擬機和一套針對你的平臺所能夠用的橫向分組設備的Java類庫。其次,你至少還需要一個 簡表來為你的平臺提供附加的 Java類,這個 簡表通常會為你的設備提供用戶界面、輸入和數據庫類。有了這兩個前提,你就了使用 Java為你的設備編寫應用程序的基本的J2ME環境。

  第三節 詳細談談J2ME配置

  J2ME可以在好幾個不同的配置中進行配置。 就像先前提到的,每個配置為一組通用設備提供最小的 Java平臺,到目前為止,只有兩種配置規范。通過 Java規范定義的這兩種配置是Connected Limited Device Configuration (有限連接設備配置, CLDC )和 Connected Device Configuration (連接設備配置 CDC )。

  CLDC是為使用較小的存儲容量的設備設計的。 CLDC用于內存在128到 512K之間的消費電子設備, 這一類別中典型代表的設備包含呼叫器、行動電話、PDA和POS終端;而另一方面, CDC用于比 PC機小但是具有比 512K內存多的設備,這一類設備包括互聯網絡電視系統、機頂盒、POS系統、汽車導航以及娛樂系統。一般來說, CDC使小型設備只要具有少量的資源,至少比臺式機要少的資源就能進行Java編程,而CLDC使小型設備所擁有的資源只要比一張智能卡多一點就可以進行Java編程了。

  除了在容量大小和能力上對虛擬機規定了必要條件,配置還規定了類應用程序接口要包含常見的java.io、 java.net、 java.util和 java.lang包,配置可能還要包括其他需要的程序包。

  CLDC

  CLDC起源可以追溯到1999年JavaOne大會上介紹的Sun的第一個袖珍版 Java和第一個 KVM以及相關的類庫,雖然 CLDC和所有的配置都滿足成為虛擬機的條件,可它本身還不是虛擬機,CLDC的引用實現只是包含在當前的分布中的 KVM。

  根據規范中所說,運行 CLDC的設備應該有 512K或更少的內存空間、一個有限的電源供給(通常是使用電池)、有限的或斷斷續續的網絡連接性 ( 9600 bps或更少 )以及多樣化的用戶界面甚至沒有用戶界面。 通常說來,這個配置是為個人化的、移動的、有限連接信息設備而設計,比如呼叫器、移動電話和 PDA等。

  與 J2SE相比, CLDC缺少下列所說的這些特征:
  AWT(抽象窗口開發包), Swing或其他圖形庫
  用戶定義類裝載器
  類實例的最終化
  弱的引用
  RMI
  Reflection(映射)

  CLDC有四個包: java.lang、 java.util、 java.io和 javax.microedition。 除了microedition包以外,其他的這幾個包都是J2SE包的核心子集,CLDC采用這些J2SE類庫,但是把其中一些在微型設備中用不到類、屬性、方法去掉了。因此 CLDC類庫有許多細微的差別。 如果
  您想研究J2SE和 CLDC類庫之間的差別,請參閱相關文檔,在此就不詳細說明了。

  想要理解為什么CLDC去除這么多J2SE中重要的類和特征,請回想一下與 CLDC相關的兩條基本原理。首先,它只有 512K的內存空間, 而像RMI和映射需要的內存太大了。 其次,配置必須滿足為一組通用設備提供最小的 Java平臺。 在個人移動信息設備領域中,許多系統都不能支持J2SE中的眾多的高級特征。 例如,許多消費電子產品不能支持浮點數; 因此 Float(浮點類)和 Double(雙精度類)就被刪除了。 再看另外一個例子,許多系統沒有或不提供訪問一個文件系統的功能或權限。 因此與文件有關的類也被丟棄了。又如,錯誤處理是一個代價非常高的過程處理,在許多消費電子設備中,故障恢復是很難的甚至是不可能的。 所以在 CLDC中,許多錯誤處理類也被刪除了。

  java.microedition程序包提供了一個一般的結構來替代許多 J2SE網絡輸入/輸出類。CLDC一般連接器結構還定義了一個 Connector類,允許許多不同類型的連接能夠使用靜態方法,下表列出使用同一個Connector類創建和打開五種不同類型的連接的方法:

  HTTP Connector.open(" http://www.javafan.net ");

  套接字 Connector.open("socket://111.222.111.222:9000");

  通訊端口 Connector.open("comm:1;baudrate=9600");

  數據報 Connector.open("datagram://111.222.111.222");

  文件 Connector.open("file:/xyz.dat");

  一般連接器結構提供給應用程序開發者一個到通用低水平硬件的簡單的映射表。成功執行open語句將返回一個實現一般連接界面的對象。

  CDC

  CDC涵蓋了個人電腦與有至少 512K內存的小型設備之間的中間地帶。現在,這一類設備通常是共享的、固定的 (不用移動)網絡連接信息設備,像電視機機頂盒,網絡電視系統、互聯網電話與汽車導航/娛樂系統等等。

  首先,CDC基于 J2SE 1.3應用程序接口,包含所有定義在CLDC規范(包括javax.microedition程序包)中的Java語言應用程序接口。與CLDC相比, CLDC所有缺少的特性和類在 CDC中都被補齊,包含映射、最終化、所有的錯誤處理類、浮點數、屬性、輸入/輸出 (File、 FileInputStream等等 )和弱的引用。 一般說來, CDC中預期的類包括一個J2SE子集和一個完整的 CLDC超集就像使用所有的配置一樣,CDC有基層虛擬機的具體的必要條件。 根據 CDC規范,基層虛擬機必須提供實現完整的 Java虛擬機的支持 。 如果虛擬機實現有一個用于激活設備的本地方法的界面,它必須兼容 JNI 1.1版本。 如果虛擬機實現有一個調試界面,它必須兼容Java虛擬機調試界面 ( JVMDI )規范。 如果虛擬機有一個簡表界面,它必須兼容 Java虛擬機簡表界面 ( JVMPI )規范。 可見,為了實現這些功能,CDC肯定會變得很大,就不能稱其為K虛擬機了,因此,我們通常稱用于CDC的虛擬機為 CVM,這里的 C代表 compact、connected、consumer。

  第四節 談談J2ME簡表

  雖然配置為一組通用設備提供了最小的 Java平臺,但是應用程序開發者感興趣的是為一個個別的設備生產應用程序,當他們只是使用配置的話,他們編寫的應用程序就會有一些欠缺。 配置必須滿足所有的設備的最小的要求, 用戶界面、輸入機制和數據持久性有高度地設備具體性,每一種設備都有自己的用戶界面、輸入機制和數據存儲方法,這些往往不在配置所滿足的最小要求的范圍之內。

  簡表為相同消費電子設備的不同的生產商提供了標準化的 Java類庫, 事實上,雖然配置規范的開發由 Sun領導,但是許多簡表規范仍將繼續由特殊設備的供應商領導。 比如說,Motorola領導了行動電話和呼叫器簡表規范的開發,又如 Palm 領導 PDA簡表的開發。

  現在,五個已知簡表已經有了規范, 記住,每個簡表的責任都是為了完善配置的不足,下表列出了這五個簡表:

  簡 表                    完善配置
  Mobile information devices profile (MIDP)  移動電話和呼叫器 CLDC
  Personal digital assistant profile      Palm和Handspring的PDA 設備 CLDC
  Foundation profile              用于所有不需要GUI的CDC設備的標準簡表 CDC
  Personal profile               替代PersonalJava的Foundation完善的簡表 CDC
  RMI profile                 提供RMI的Foundation完善的簡表 CDC
  
  現在我想談一談另一個Java類庫集,它現在差不多可以被認為是另一個簡表了。當Sun為Palm開發第一個KVM時,他們需要一組類來 開發Palm的演示程序。這套類庫被封裝進 com.sun.kjava 程序包, 在 CLDC早期的開發中,這些類被廣泛的使用來測試和演示 J2ME。因為 kjava是唯一的允許應用程序開發者使用 J2ME和 KVM開發應用程序的類,所以它就被廣泛使用了。甚至到了今天,一個用于 PDA或更特殊一點的Palm的簡表多已經在開發中,許多開發者仍然希望使用 kjava類來開發 PDA應用程序。盡管 kjava類不被支持,并且僅僅用于設計測試程序或演示程序,并且它們將被一個即將到來的簡表所替代,但是開發者們仍然熱衷于使用它來開發。



主站蜘蛛池模板: 探花视频免费播放观看 | 亚洲专区路线一路线二 | 日本一区二区三区在线 观看网站 | 亚洲最大成人网 色香蕉 | 三级黄色片在线观看 | 日本高清视频色www在线观看 | 色网址在线 | 香蕉欧美成人精品a∨在线观看 | 日韩在线黄色 | 日韩欧美视频一区 | 小明视频免费永久在线网 | 欧美一级在线免费观看 | 伊人精品在线 | 四虎精品成人a在线观看 | 亚欧精品一区二区三区四区 | 我要看黄色一级片 | 丝袜美腿美女被狂躁在线观看 | 伊人久久婷婷丁香六月综合基地 | 日韩欧美一区二区三区不卡 | 亚洲精品在线观看视频 | 天天干天天射天天舔 | 亚洲高清一区二区三区四区 | 中文国产 | 四虎影裤 | 自拍偷拍 欧美日韩 | 青青草久热精品视频在线观看 | 三级理论| 四虎影院在线观看网站 | 天天婷婷| 亚洲 欧美 精品 中文第三 | 伊人影视频 | 欧美一级情欲片在线 | 性视频网 | 亚洲福利视频一区二区三区 | 亚洲第一中文 | 无遮挡激情| 亚洲操片 | 亚洲入口| 最近高清无吗免费看 | 亚洲欧美日韩国产综合久 | 日日夜夜精品免费视频 |