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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

什么是J2ME及其基本慨念

2019-11-17 06:13:15
字體:
供稿:網(wǎng)友

  假如您曾經(jīng)http://www.javasoft.com ;網(wǎng)站上查詢有關(guān)Java 2 Micro Edition 的資料,十之八九會(huì)被一大堆的技術(shù)名詞搞的一頭霧水。什么 KVM ,什么CLDC 、CDC 、MIDP ,后面面還冒出了Personal Java 、Embedded Java以及JES 等名詞。
雖然名為Java 的微小版本,可是它的世界可真是不小,讓我們滿肚子“見山不是山,見水不是水”的迷惑。的確,在我剛開始接觸 Java 2 Micro Edition 的時(shí)候,就感覺到這個(gè)玩意兒實(shí)在越看越讓人摸不著頭緒。因此在本章中,我舍棄了技術(shù)上的細(xì)節(jié),希望帶大家從宏觀的角度來看待 Java 2 Micro Edition 的世界。希望讀過本文之后,可以使大家體驗(yàn)“見山是山,見水是水”,一切豁然開朗的感覺。首先,我們必須先對(duì)Java 2 Micro Edition 在整個(gè)Java 技術(shù)之中的定位做個(gè)了解。 
 
  各種不同版本之Java 程序的開發(fā)
 
  如前面所說,各種不同的Java 版本,在其支援的核心類別函式庫之完整性以及所支援的 Java 基本型別這兩件事情上都有所差異,也就是說,不管您開發(fā)的是企業(yè)所使用的Java 程序、嵌入式裝置上執(zhí)行的Java 程序、瀏覽器上執(zhí)行的Applet ,或是在PC 上執(zhí)行的應(yīng)用程序。您都必須在您的電腦上先安裝 J2SE ,然後再安裝各種版本的核心類別函式庫以及額外的擴(kuò)充類別函式庫,如此才能成功地開發(fā)各種不同目的的Java 程序。J2SE所提供的Java 編譯器(javac.exe)可以幫助我們編譯各種不同平臺(tái)上的Java 程序,而J2SE 所提供的Java 虛擬機(jī)器(java.exe)則可以幫助我們?cè)赑C 上先行測(cè)試這些程序執(zhí)行結(jié)果的正確與否。另外,Java 編譯器并不會(huì)幫您檢查您的程序是否符合各種平臺(tái)上所支援的核心類別函式庫與 Java 基本型別。舉例來說,雖然我們?cè)谇懊嬲f過,Smart Card 版本并不支援boolean 、byte 以外的Java 基本型別,而且該平臺(tái)也只支援java.lang.* 核心類別,可是當(dāng)我們?cè)谧珜?Smart Card 平臺(tái)上的程序時(shí),就算在程序碼里用了boolean 或byte 以外的Java 基本型別,或者使用了java.lang.*之外的其他核心類別,編譯器仍然可以照常幫您編譯出類別檔。這個(gè)時(shí)候大家一定開始產(chǎn)生迷惑 --那么這些程序假如放到Smart Card 上頭執(zhí)行的時(shí)候,出了問題怎么辦 ? 難道不會(huì)造成Smart Card 上的虛擬機(jī)器執(zhí)行時(shí)發(fā)生錯(cuò)誤嗎 ? 針對(duì)這個(gè)可能發(fā)生的潛在問題,Sun Microsystems 在各種不同版本的開發(fā)套件中,有些會(huì)內(nèi)附檢查器 (checker)或者預(yù)先審核器 PReverifier),這兩個(gè)工具可以幫助您在將程序放到目標(biāo)平臺(tái)之前先做好檢查和預(yù)先審核的工作。檢查器會(huì)幫您找出類別檔之中不合目標(biāo)平臺(tái)規(guī)格的部分,并提醒你這些地方可能無法在目標(biāo)平臺(tái)上執(zhí)行。因此只要有檢查器的協(xié)助,您大致上可以確定您的程序可以符合目標(biāo)平臺(tái)的規(guī)定并順利執(zhí)行。 Java Card 的開發(fā)套件中就附有檢查器。
 
  而某些平臺(tái)的開發(fā)套件則附有預(yù)先審核器,預(yù)先審核器除了做檢查器做的工作之外,還有一項(xiàng)額外的工作,就是減輕目標(biāo)平臺(tái)上虛擬機(jī)器的負(fù)擔(dān),要解釋預(yù)先審核器這個(gè)額外的工作,在傳統(tǒng)的 Java 程序之中,為了安全上的考量,任何進(jìn)入執(zhí)行環(huán)境的類別檔 (不管該類別檔是來自本機(jī)或是遠(yuǎn)端機(jī)器 ),都必須先經(jīng)過Byte Code 審核器(Byte code verifier)的驗(yàn)證,以防止程序在傳送途中遭到惡意的修改,而使得 Java 程序在執(zhí)行時(shí)對(duì)系統(tǒng)有不良影響。經(jīng)過審核之後,該類別檔才能開始被J 虛擬機(jī)器所執(zhí)行。假如這個(gè)審核的動(dòng)作在一般的 PC 上執(zhí)行,速度倒是還能夠接受,可是一旦放到如 Palm 或是手機(jī)這些CPU 較慢、記憶體也比較少的機(jī)器上面就顯得十分吃力了。為了節(jié)省寶貴的 CPU 運(yùn)算時(shí)間(既能省電又能夠加速程序執(zhí)行 ),因此,在程序設(shè)計(jì)師產(chǎn)生能夠讓某些特定平臺(tái)執(zhí)行的類別檔之前,程序設(shè)計(jì)師必須先在 PC 上使用預(yù)先審核器做一些前置的審核工作,預(yù)先審核器會(huì)在類別檔之中加入一些非凡標(biāo)記或符號(hào)。如此一來,當(dāng)這些程序放到目標(biāo)平臺(tái)上執(zhí)行時(shí),就可以大幅減少在目標(biāo)平臺(tái)上做審核時(shí)的時(shí)間,藉而加速程序的的啟動(dòng)及執(zhí)行速度。因此在J2ME 之下的程序(Spotlet 、MIDlet),其執(zhí)行步驟變成因?yàn)轭A(yù)先審核的關(guān)系,執(zhí)行時(shí)Byte Code,審核器的工作就變少了,也因此從程序載入到開始執(zhí)行之間的時(shí)間因而縮短。 CLDC標(biāo)準(zhǔn)實(shí)作和MIDP 參考實(shí)作之中就附有預(yù)先審核器。
 
  Java 版本的演進(jìn)
 
  相信熟悉Java 演進(jìn)歷史的人或多或少都聽說過,Java 技術(shù)一開始并非就叫做 Java ,而是叫做OAK ,而且最早的時(shí)候就是為了嵌入式系統(tǒng)而設(shè)計(jì)的一項(xiàng)產(chǎn)品。後來因?yàn)榫W(wǎng)際網(wǎng)路的發(fā)達(dá),而OAK 的諸多特性剛好又適合用在網(wǎng)路上(例如可移植性、編譯後程序碼很小),因?yàn)樯虡?biāo)已被注冊(cè)的關(guān)系,因此 OAK 被改名成Java ,從此因緣際會(huì)地成了網(wǎng)路上的閃亮巨星,并隨著時(shí)間越來越成熟,也慢慢地產(chǎn)生了許多非原本預(yù)期中的相關(guān)運(yùn)用。

  雖然 Java 已經(jīng)被用到許多企業(yè)級(jí)軟體上,可是其實(shí)骨子里面還是非常適合用在嵌入式系統(tǒng)之中。 
 
  雖然從Java 1.0 發(fā)表之後,Java 就被廣泛地使用在桌上型應(yīng)用程序以及Applet 的開發(fā)上,但是,從Java 1.1 開始,Java又回到了它一開始的老路--也就是嵌入式系統(tǒng)方面的應(yīng)用,在當(dāng)時(shí)Sun Microsystems 發(fā)表了Embedded Java 與Personal Java(也有人簡稱為PJava)這兩項(xiàng)規(guī)格。其中Embedded Java 是為了資源十分有限,而且沒有顯示設(shè)備的嵌入式裝置而設(shè)計(jì); Personal Java 則是為了在能夠與網(wǎng)際網(wǎng)路連線、并擁有顯示系統(tǒng)(例如彩色LCD)的消費(fèi)性電子裝置而設(shè)計(jì)。接著Java 的版本演進(jìn)到Java 2 ,這時(shí)為了再明顯區(qū)分各種Java 的應(yīng)用,所以分割出了J2EE、J2SE、以及 J2ME 三種版本。這三種版本的各種特性我們已經(jīng)在前面已經(jīng)具體地描述,在此不再贅述。不過請(qǐng)大家記住,由於 Java 2將Java 的應(yīng)用區(qū)分成三大塊,使得 Java 程序語言的發(fā)展不會(huì)再像Java 1.1時(shí)如樹枝狀般擴(kuò)散出去,這么一來有助于大家對(duì) Java 各種應(yīng)用的了解,而不會(huì)造成今后越發(fā)展下去越不可收拾的混亂局面。額外向大家一提的是,后來Personal Java 發(fā)展到1.2 版的時(shí)候,也采用了一些Java 2 平臺(tái)上與安全性有關(guān)的設(shè)計(jì)。 Java 2 Micro Edition 概念
 
  J2ME 在設(shè)計(jì)其規(guī)格的時(shí)候,遵循著「對(duì)於各種不同的裝置而造出一個(gè)單一的開發(fā)系統(tǒng)是沒有意義的事」這個(gè)基本原則。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万源市| 大渡口区| 十堰市| 英德市| 久治县| 布尔津县| 丰城市| 长武县| 天津市| 茌平县| 固始县| 德州市| 奉化市| 新巴尔虎右旗| 庆元县| 金山区| 富民县| 神农架林区| 公安县| 庄浪县| 潞城市| 邵东县| 德阳市| 兴隆县| 泰和县| 祁东县| 夏邑县| 漳平市| 宝丰县| 新乡县| 松溪县| 海兴县| 万山特区| 卢湾区| 博客| 永登县| 长岭县| 黎川县| 阳谷县| 文成县| 台东县|