程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME配置全攻略

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.xyz.com ");
    套接字 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。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved