歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux業界

“充分利用Java固有優勢, Sun談新一代手機Java前景

【日經BP社報道】

  隨著手機功能的不斷提高,“新一代手機Java”的身影也越來越清晰,比如新標准API集“MSA for CLDC”的制定,Java運行環境由CLDC向CDC過渡,對多任務功能的支持等。在這種背景下,Java的固有優勢,即面向對象特性將得到有效發揮。就手機Java技術的現狀和今後的發展,記者日前采訪了日本Sun負責嵌入Java領域的高級經理門間純一(Mobile&Embedded Systems)。(采訪者:星 曉雄)

——請您談談手機Java技術的開發藍圖。將按照什麼樣的路線從CLDC(connected limited device configuration)向CDC(connected device configuration)過渡?

門間:在Java ME CLDC/MIDP(mobile information device profile)中,由於各通信運營商各自為政,結果產生了多種各自不盡相同的自主標准,對此應有所反思。作為JTWI(JSR 185: Java Technology for the wireless industry),2003年確定了API集。沃達豐3G等現已開始采用JTWI。

  將來,作為JTWI的擴展,MSA for CLDC(JSR 248: mobile service architecture for CLDC)將會亮相。不過,它不會全部配備MSA for CLDC的API集,也許會以“JTWI Plus”的形式配備子集。比如,沒有藍牙功能的手機也許會取消相應的API。

——高端和低端手機會分別使用API集嗎?

門間:MSA for CLDC的地位是中低端手機。高端手機方面將采用MSA for CDC(JSR 249: mobile service architecture for CDC)。不過,目前仍有很多部分尚未確定。

——MSA for CDC包含MSA for CLDC嗎?

門間:對。MSA for CLDC上的應用程序均可在MSA for CDC上運行。也就是說,能夠運行現有內容。除此之外,在MSA for CDC中還將追加調用本機庫的JNI(Java native interface)和運程設備管理等娛樂功能。

以上就是從JSR(Java specification request,Java規范請求)所能看到的手機Java開發藍圖。

“*Project”是以use case(用戶個案)為重的方案

——由NTT DoCoMo和Sun共同推進的“*(Star) Project”處於什麼地位?

門間:*(Star) Project的目的是吸收MIDP和Doja(由NTT DoCoMo制定的“i-appli”標准)的“長處”。它采取的方案是,首先考慮use case(記錄了每個用戶的目標需求),然後再逐步找出用戶需求。不像JSR那樣先定義再使用API。

  正在研究哪些use case呢?為了不向競爭對手洩漏我們的想法,現在還不能講。不過,從技術方案上來說,應該說已經取得了一定的進展。

——芬蘭諾基亞對CDC非常熱心。並且已經宣布將在手機平台“Series 60”上配備CDC(發布資料)。

門間:諾基亞有可能采用自主標准。因為MSA for CDC趕不及了。

手機配備CDC,將會產生哪些變化?

——手機配備CDC,將會產生哪些變化?CDC將會配備全套的Java虛擬機。

門間:其實,就Java虛擬機來說,CLDC和CDC差別並不太大。

  CLDC的Java虛擬機和全套的Java虛擬機標准的差別在於是否調用預驗證(字節代碼的預先驗證)的內容(=Java應用程序)。全套的Java虛擬機在執行代碼時進行字節代碼驗證,而CLDC則減輕了這種負擔。

  作為CLDC1.1(JSR 139: connected limited device configuration 1.1,2003年3月公布最終版本),在CLDC的Java虛擬機中還加入了錯誤處理和Weak Reference(注:也稱為弱參考。在需要實現選項緩沖時使用)等功能(注:此外還追加了浮點運算功能)。作為Java虛擬機功能來說,和全套的Java已經沒有任何區別。

  說到CDC的變化,就是JNI和安全性。作為JNI,就是能由Java程序調用本地程序。在KVM(Java ME CLDC的Java虛擬機)中,甚至都不能“請求”本地程序。

  安全功能在由JDK1.1過渡到JDK1.2時同樣也有變化。盡管只是沙箱模型,但卻能夠進行更細致的安全管理。

——比如,是否可以說將能夠使用安全功能,來運行可調用手機OS功能的程序?

門間:對。如果使用JNI和安全功能,通過訪問設備驅動程序,就能生成可直接操作相機等硬件的Java程序,也可下載使用。

在CLDC和CDC中,多任務虛擬機的實現方式有所不同

——請您談談今後即將亮相的多任務虛擬機?

門間:今天的手機Java同時僅運行一個程序,今後將會同時運行多個程序。比如,起動Java編寫的郵件功能後,還可在後台利用Java播放器聽音樂。

  在CLDC和CDC中分別采取了不同的實現方式。CLDC版的多任務虛擬機設想在“Symbian OS”這樣的非多任務OS上使用,在一個VM instance上對多個Java應用程序進行管理。而CLDC版多任務虛擬機已經作為Sun手機Java運行環境“Sun Java Wireless Client”的一部分、即“CLDC HotSpot Implementation”推出來。該產品主要面向終端廠商,估計尚無嵌入手機最終產品的先例。

  而CDC版多任務虛擬機則主要面向高端產品。需要有嵌入Linux這樣的多任務OS。每當起動新的Java程序時,就會生成新的進程。同時還具有支持多任務的應用程序管理器(JAM:Java Application Manager)。對於這種虛擬機,Sun已經推出作為產品推出“CDC HotSpot Implementation”

——在多任務虛擬機上多個應用程序之間的協作方式是?

門間:CDC版虛擬機具有“Xlet間通信”接口。供CDC上的PBP(Personal Basis Profile,個人基本規范)提供的應用程序運行形態Xlet相互之間進行通信。CLDC版虛擬機尚未提供應用程序通信功能。

Java固有的優勢在於面向對象

——換一個話題,在嵌入開發領域,有人擔心隨著開發規模不斷擴大,將會面臨“軟件危機”。Java技術有望改善這種狀況嗎?

門間:從個人觀點來講,僅靠Java語言也許難以改善這種狀況。從原則上說,就是應當好好地編寫可再利用的對象。對此,根據設計模式(按照再利用的方式對程序設計手法的“定式”整理而成)進行實際開發將更為重要。

  目前,從嵌入Java領域的程序來看,很多編得並不太好。因此,當開發工作向下一階段過渡時,就需要編寫同樣的程序。為了避免重復作業,設計非常重要。為此,一開始就應當使用設計模式進行設計,以方便以後再利用。

  作為娛樂領域的開發工程,包括開發方法論、設計模式等,正在逐步積累面向對象的技術。而在嵌入Java領域,目前看來面向對象的優勢基本還沒有得到利用。

  其中一個原因就是嵌入Java的開發都是在嚴格的內存制約下進行的。比如,1999年制定Doja標准時,曾預測2、3年後的手機將會如何如何。而今天的手機卻具有了和當時完全不同的功能。

  希望每一位開發人員都能明白的是,“因為是嵌入”,所以絕不能妥協。最初的Doja手機,也就是NTT DoCoMo的“503i系列”為了節約內存,在開發過程中甚至要把每增加一個庫就將增加5個字節的內存,每一個方式將會增加多少字節都要考慮進去。沒能發揮面向對象的優點。

  如今需要擺脫這種做法。希望開發人員充分利用Java固體的優勢,即面向對象功能。(記者:星 曉雄)




Copyright © Linux教程網 All Rights Reserved