2008年6月30日 星期一

J2ME 閒聊

高中時如果有B.B.Call的話,走起路來都有風啊......尤其是在上課上到一半一定要響一下感覺事業做的比學業還要大,如果是情侶的話還會打一些五四三的520/530/1314的一些鬼東西,後來有陣子流行2哥大但是收訊似乎不是很好,到開始090開頭的號碼時就是水壺機(磚頭機),看到大人們拿磚頭或水壺在講電話真是羨慕啊..但是在那個時候誰會想到!!!啥?電腦嘛ㄟ會挑土豆喔??手機也可以看電視喔??短短的10年多,科技已經進步到了這個地步,所以我想再過十年後我應該可以跟銀河另一邊的那美克星人(比克)使用電話來聊聊近況吧...

回歸正題:
MIDP 1.0(JSR 37)是在2000年09月Release
MIDP 2.0(JSR 118)是在2002年11月Release 。

Volatile memory for the Java runtime所需的記憶體
MIDP 1.0 = 32k,MIDP 2.0 = 128KB
Non-volatile, in addition to what CLDC requires所需的記憶體
MIDP 1.0 = 128k,MIDP 2.0 = 256KB

其中2.0多了一些東西
javax.microedition.lcdui.game 圖形翻轉、碰撞偵測、按鍵處理等功能
javax.microedition.media 多媒體播放等功能
javax.microedition.pki (Public Key Infrastructure) 公開金鑰

那美星人 介紹:
生活在那美剋星上的住民,身高1.3-1.9米之間,沒有體毛。頭部有兩個觸角
,用於感光。皮膚綠色,具有類似植物光合作用的功能,他們只要喝水,利
用光 合作用產生澱粉滿足生理機能需要。古那美剋星人曾經擁有過極其發達
的科技,甚至不惜以犧牲環境為代價,因此那美剋星曾經污染嚴重,二氧化
碳保護層被破壞, 宇宙射線的放射性殺傷使那美剋星成為一顆死星,那美克
星人也幾乎因此滅絕。好在發達的宇宙航行科技使少數人在外星球度過了一
段艱苦的歲月,後來返回了那美剋星,他們痛定思痛,大量培植綠色植物,
以保護二氧化碳氣壁。(另有一說是那美剋星人由於塞亞人的進攻而滅絕,
待考證!

J2ME 簡單介紹(3)

傳統 Java 程式執行程序:
1.編譯階段 : Go.java> Go.class
2.執行階段 : 類別載入器> Byte Code審核器> JVM> Runtime> 硬體設備

非J2ME的Java 程式因為安全的考量,只要是進入執行環境的類別檔,都必須先經過Byte Code
審核器(Byte code verifier)的驗證,來防止程式在遭到惡意的修改,造成程式在執行時對系統造
成破壞,經過審核之後,該類別檔才能開始被Java 虛擬機器所執行。


J2ME Java 程式執行程序:
1.編譯階段 : Go.java> Go.class>預先審核 > Go.class
2.執行階段 : 類別載入器 > 輕量Byte Code審核器 > KVM> Runtime > 硬體設備

J2ME 簡單介紹(2)

再來看看J2ME的架構:

optional packages
|
Profiles
|
configurations


optional packages :
廠商選擇性實作部份 例如: JDBC FOR CDC(JSR169)、Bluetooth API(JSR 82)等......

Profiles:
建構在configurations上,定義了與特定嵌入式裝置非常相關的擴充類別函式庫

1.Mobile Information Device ProfileThe Wireless Messaging APIInformation Module Profile
2Foundation Profile、Personal Basis Profile、Personal Profile...

configurations:
規範描述至少要符合的運算能力、供電能力、記憶體大小等與實作在特定類型的裝置上的J2ME平台所應提供的基本函式庫

分成兩大類CDC、CLDC
CDC(Connected DeviceConfiguration):
includes specific packages that are subsets of the J2SE equivalent:
java.lang
java.util
java.net
java.io
java.text
java.security

CLDC(Connected Limited Device Configuration):
includes specific packages that are subsets of the J2SE equivalent:
java.io
java.lang
java.util
javax.microedition.io

J2ME 簡單介紹(1)

J2ME (Java 2 Platform, Micro Edition)是Sun Microsystems是針對一般小型設備進行程式
開發的工具(套件),由於這些消費性產品(手機、PDA、
互動式電視機上盒 Set-top Box(STB)/Set-top unit(STU)等相關小型設備的差異性過大,因此將這些設備分為兩大類
(
Configuration):一種是(CLDC)運算功能有限、電力供應也有限的嵌入式裝置,另一種
(CDC)
是運算能力相對較佳、並在電力供應上相對比較充足的嵌入式裝置。

所以說手機CELL PHONE應該是屬於(CLDC)這一類的,不過有些人的手機是一直插著
充電,而且現在手機的運算能力越來越好,那手機到底算是哪一類?其實CLDC與CDC
的區分只要還是要看該設備是否有支援CDC...

例如:
SonyEricsson
M600i 與P1i 都有支援 CLDC 1.1 與 CDC 1.0
k600 只支援
CLDC 1.1(我的手機),所以看來應該是越貴的手機支援的東西越多

手邊只有一隻
SonyEricsson k600的手機,所以重點都只能放在CLDC上......
有人要送我一隻有支援CDC的手機嗎?.......Orz

擷取自
Java Technolory Concept Map 一段話
Java 2 Platform Micro Edition is intended to run on devices with limited computing power
, such as cell phones or PDAs.J2ME has reduced processor and memory requirements.
It is based on subsets of J2SE with additional components for market segments such as
hand-held devices.