串連有限裝置配置(CLDC)是J2ME針對小裝置如蜂窩電話,pagers和低端PDA建立概要的基本構件。這些裝置以有限的儲存能力和處理能力為特徵,這就使得它們不可能承載java平台的所有特性。CLDC制定了一個java包和類的最小集合和一個縮小功能的java虛擬機器,這樣就可以在資源受限的環境中運行java應用。
這一章的第一部分描述了能夠支援CLDC的java虛擬機器必須提供的特性,並且解釋了這個虛擬機器與標準虛擬機器的區別。作為這個討論的部分,我們將使用sun的CLDC參考實現和Kilobyte 虛擬機器(KVM,KB虛擬機器)。第二部分介紹了CLDC實現必須提供的包和類,這些都是J2SE核心包的子集。這章以對KVM提供的調試功能的討論和一些進階特性而結束,這些進階特性是使用本機碼和預載的java類——這對那些在原始碼級使用KVM的讀者來說是有價值的。
2.1CLDC java虛擬機器
硬體和軟體的限制使CLDC所面向的裝置不可能支援J2SE所有的核心類。在windows平台上運行簡單的’Hello, World”需要大概16MB的儲存空間。與這個相比,CLDC的最小平台需求為:
ü 128KB的ROM,快閃記憶體或者電池儲存空間以永久儲存java虛擬機器和構建CLDC所需的類庫。
ü 32KB的易失儲存空間以備運行時分配。這個儲存空間被是滿足java應用的動態需求,包括類的裝載和對象堆空間和棧的分配
為了能夠在如此受限的環境中支援java運行環境,CLDC對虛擬機器,語言本身和核心類庫定義了縮小了的要求,它們將在以下的章節中詳細介紹。
CLDC對它的主平台進行了很少的假設,而不是儲存要求。例如,它不會假設裝置會擁有任何形式的顯示和諸如鍵盤和滑鼠之類的輸入裝置,並且它也不需要任何形式的本地應用資料的儲存。這些問題都被假設為由各自的生產廠家提供。當然,J2ME概要對有限裝置有額外的要求,就如你將在第三章和第七章的一樣。對於CLDC來說,需求被最小化來最大化可以實現的平台的數量。
當軟體環境被建立的時候,CLDC假設主裝置有作業系統可以執行和管理虛擬機器。儘管java是一個多線程的編程環境,作業系統不一定需要線程的概念或者在任何時刻運行多進程的能力。相反的,虛擬機器必須能夠使用本地的功能來提供多線程環境的類比。
CLDC的完整的規範,由JCP開發的,可以在以下網站下載:http://jcp.org/jsr/detail/30.jsp