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

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

Java 2 Micro Edition簡介(三)

2019-11-18 14:17:20
字體:
來源:轉載
供稿:網友

?java 版本的演進

相信熟悉Java歷史的人或多或少都聽說過,Java技術一開始并非就叫做Java,而是叫做OAK,而且最早的時候就是為了嵌入式系統而設計的產品。后來因為網際網絡的發達,而OAK的諸多特性剛好又適合用在網絡上(例如可移植性、編譯后程序代碼很小),因此被改名成Java,從此因緣際會地成了網絡上的閃亮巨星。隨著時間越來越成熟,也慢慢地產生了許多非原本預期中的相關運用。雖然Java已經被用到許多企業級軟件上,可是其實骨子里面還是非常適合用在嵌入式系統之中。
Java版本的歷史演進如下圖所示:




從圖中大家可以發現,雖然從Java 1.0發表之后,Java就被廣泛地使用在桌上型應用程序以及Applet的開發上,但是,從Java 1.1開始,Java又回到了它一開始的老路--也就是嵌入式系統上面的應用,在當時Sun Microsystems發表了Embedded Java與Personal Java(也有人簡稱為PJava)這兩項規格。

其中Embedded Java是為了資源十分有限,而且沒有顯示設備的裝置而設計; Personal Java則是為在能夠與網際網絡聯機、并擁有顯示系統(例如彩色LCD)的消費性電子裝置而設計。

接著Java的版本演進到Java 2,這時為了再明顯區分各種Java的應用,所以分割出了J2EE、J2SE、以及J2ME三種版本。這三種版本的各種特性我們已經在前面具體的描述過,在此不再贅述。不過請大家記住,由于Java 2將Java的應用區分成三大塊,使得Java程序語言的發展不會再像Java 1.1時如樹枝狀般擴散出去,這幺一來有助于大家對Java各種應用的厘清,而不會造成今后越發展下去越不可收拾的混亂局面。

額外向大家一提的是,后來Personal Java發展到1.2版的時候,也采用了一些Java 2平臺上與安全性有關的設計。

?Java 2 Micro Edition概觀

J2ME在設計其規格的時候,遵循著「對于各種不同的裝置而造出一個單一的開發系統是沒有意義的事」這個基本原則。于是J2ME先將所有的嵌入式裝置大體上區分為兩種:一種是運算功能有限、電力供給也有限的嵌入式裝置(比方說PDA、手機);另外一種是運算能力相對較佳、并請在電力供給上相對比較充足的嵌入式裝置(比方說冷氣機、電冰箱、電視機上盒(set-top box))。因為這兩種區分,所以Java引入了一個叫做Configuration的概念,然后把上述運算功能有限、電力有限的嵌入式裝置定義在Connected Limited Device Configuration(CLDC)規格之中;而另外一種裝置則規范為Connected Device Configuration(CDC)規格。也就是說,J2ME先把所有的嵌入式裝置利用Configuration的概念區隔成兩種抽象的型態。

其實在這里大家可以把Configuration當作是J2ME對于兩種類型嵌入式裝置的規格,而這些規格之中定義了這些裝置至少要符合的運算能力、供電能力、內存大小等規范,同時也定了一組在這些裝置上執行的Java程序所能使用的類別函式庫、這些規范之中所定義的類別函式庫為Java核心類別的子集合以及與該型態裝置特性相符的擴充類別。比方就CLDC的規范來說,可以支持的核心類別為java.lang.*、java.io.*、java.util.*,而可以支持的擴充類別為java.microedition.io.*。
區分出兩種主要的Configuration之后,J2ME接著在定義出PRofile的概念。Profile是架構在Configuration之上的規格。之所以有Profile的概念,是為了要更明確地區分出各種嵌入式裝置上Java程序該如何開發,具有哪些功能。因此Profile之中定義了與特定嵌入式裝置非常相關的擴充類別,而Java程序在各種嵌入式裝置的使用者接口該如何呈現的規定就是定義在Profile里頭。Profile之中所定義的擴充類別也是根據底層Configuration內所定義的核心類別所建立。
嵌入式系統上的Java程序、Profile、Configuration、虛擬機器、操作系統、以及實體裝置之間的關系如下圖所示:



從上圖大家一定可以發現,根據某個Profile規范所撰寫的Java程序除了可以直接呼叫Profile中定義的擴充類別,也可以直接叫用Configuration里頭所定義的核心類別子集與擴充類別。

目前J2ME對于Configuration以及Profile所組成的架構大致如下圖所示:



從上圖可以看出,目前從CLDC所衍生出來的Profile有兩種,一種是Handheld Profile,大多數用在PDA上;而另外一種是Mobile Information Device Profile(MIDP),這個Profile是針對行動裝置所定義,比方說呼叫器(Pager)行動電話等等,都是屬于行動裝置。

另外,我們可以發現Embedded Java與Personal Java似乎沒有包含在兩個Configuration任何一個底下,這看起來有點希奇,不過他們還是歸類在J2ME的范疇之中,而且也衍生出了Java的實時版本(Real-time Specification for Java)。其實Embedded Java與Personal Java會慢慢被架構在CDC之上的Profile所取代。拿Personal Java來說,其實它的規格與Personal Profile的規格是兼容的。之所以目前還存有Embedded Java與Personal Java這兩個名詞的主要原因在于市場上已經有大量采用這兩種規格的實作品,所以短期內Personal Java仍然會不斷演進,一時之間還無法馬上歸類到J2ME的特定Profile之下。

?CLDC、CDC以及他們所衍生出來的Profile之規格

既然Sun將所有的嵌入式裝置區分成CLDC 與CDC兩種,接下來我們先就這兩種Configuration做討論。
Connected Limited Device Configuration(CLDC)就Sun的文件所描述,是定義為「可以放在您的手掌上的裝置」,比方說Palm系列的PDA或是手機就是最好的例子。而Connected Device Configuration(CDC)根據Sun文件的描述,定義為「可以插在墻壁上的裝置」,比方說電視機上盒(set-top box)就是一個例子。不管如何,這兩種Configuration之中定義的皆為這兩種型態的嵌入式裝置要執行Java程序所需要的最小配備需求。底下是CLDC與CDC各自的最小配備需求:


配備Configuration
CLDC
CDC

RAM
RAM與ROM再加上閃存(Flash Memory)要為128K~512K。
大于等于256K

ROM
RAM與ROM加上閃存要為128K~512K。
大于等于512K

電源
通常是使用電池,所以電源有限。
不設限


在Javasoft的官方文件之中所架構出來的J2ME如下圖所示:



根據上圖,我們來討論一下建構在Configuration之上的Profile。在Profile之中也定義了特定種類嵌入式裝置的最小配備需求。既然Profile建構在Configuration之上,其意義就是說Profile之中所規范的配備需求不可能比Configuration還要低。同時,Profile之中對于顯示功能、網絡功能、以及耗電能力等相關需求將會比Configuration之中所規定的還要高。
底下是一些Profile的配備需求:


配備Profile
Foundation Profile
Personal Profile
MIDP

RAM
至少512K
至少1 MB
RAM與ROM至少要為512K

ROM
至少1024K
至少2.5 MB
RAM與ROM至少要為512K

電源
不設限
不設限
通常是使用電池,所以電源有限

網絡連接能力
部分功能
部分功能
具有低頻寬的無線通訊能力

其它
要有額外的RAM或ROM供給用程序執行
要有額外的RAM或ROM供給用程序執行
要有額外的RAM或ROM供給用程序執行并儲存資料


雖然官方文件之中繪出J2ME的美好遠景,其實這些規格還有待大家努力。在本者撰寫本文的時候,我們所能找到有關Configuration的規格只有完整的CLDC規格(v1.0)。而有關Profile的規格只有Mobile Information Device Profile的規格已經底定(v1.0),而其它如Personal Profile、 Foundation Profile、RMI Profile,因為是根據CDC所訂定,而CDC的規格尚未底定(v0.2),所以這三個Profile的規格目前只有v0.x版。其余的Profile就連規格都還在草擬之中了。假如您對這些正在草擬的規格有有愛好的話,請到Java Community Process (JCP)的網頁http://java.sun.com/aboutJava/communityprocess/上觀察Java Specification Request (JSR)的后續進展。底下表格是J2ME相關的jsp之所在位置:


JSR #000068
J2METM Platform Specification
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_068_j2me.Html


JSR #000030
J2ME Connected, Limited Device Configuration
http://java.sun.com/aboutJava/communityprocess/final/jsr030/index.html


JSR #000036
J2METM Connected Device Configuration
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_036_j2mecd.html


JSR #000037
Mobile Information Device Profile for the J2METM Platform
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_037_mid.html


JSR #000075
PDA Profile for J2METM
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_075_pda.html


JSR #000062
Personal Profile Specification
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_062_pprof.html


JSR #000046
J2METM Foundation Profile
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_046_j2mefnd.html


JSR #000066
J2METM RMI Profile
http://java.sun.com/aboutJava/communityprocess/jsr/jsr_066_rmime.html



雖然已經底定的Profile規格并不多,可是以目前來說,已經足以讓我們能夠撰寫PDA(PlamOS)和手機(Motorola)上的應用程序了。各位讀者可以在CLDC參考實做的內附文件之中,除了可以找到CLDC規格所訂定的核心類別子集與擴充類別之說明文件,也可以發現與PalmOS相關擴充類別(com.sun.kjava.*)的說明文件。同理,我們除了可以在Motorola J2ME SDK之中找到CLDC支持的核心類別子集與擴充類別之說明文件,同時也可以找到和Mobile Information Device Profile(MIDP)相關的擴充類別(javax.microedition.midlet.*、javax.microedition.lcdui.*、javax.microedition.rms.*)之說明文件。

Personal Java的發展其實以一段時間了,無數的公司根據其規格生產實作品,所以接下來將針對Personal Java做個別探討。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 福安市| 平南县| 蒙阴县| 贵港市| 海阳市| 屏东县| 昌吉市| 玉环县| 通海县| 甘南县| 新宁县| 科技| 双流县| 康平县| 平潭县| 青浦区| 太仓市| 广西| 金阳县| 商水县| 新巴尔虎右旗| 辽源市| 文水县| 黔江区| 油尖旺区| 营山县| 凤城市| 陆丰市| 宣汉县| 漳平市| 阳高县| 永修县| 兴安县| 昌都县| 郑州市| 佳木斯市| 邢台县| 信阳市| 白朗县| 陵川县| 库尔勒市|