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

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

J2ME的起源和發展歷程

2019-11-18 12:46:05
字體:
來源:轉載
供稿:網友

   J2ME的起源和發展歷程(圖一)


  java編程語言最初是為消費電子設備編程設計的嵌入式語言,但其發展卻偏離了初衷,成為一種開發基于服務器應用的平臺技術。因此,從某種意義上說,今天的J2ME實際上是Java技術向“根”的回歸。
  
  這一切都起源于20世紀90年代初期的Green PRoject和Oak編程語言,這種語言后來被重新命名為Java。從那以后,Java出現了許多版本和變種,包括JDK 1.0和1.1、EmbeddedJava、PersonalJava、Java Card以及現在Java 2平臺的不同版本。
  
  J2ME并不是Sun公司在手持設備和嵌入式設備領域的第一次冒險。它實際上是Sun公司早期為小設備開發的一系列平臺的“后裔 ”,這些平臺包括20世紀90年代初期Green Project的部分成果Oak、1996年推出的Java Card、1997年推出的PersonalJava、1998年推出的EmbeddedJava,以及1999年推出的Spotless System和KVM。今天,J2ME平臺滿足針對高端和低端電子設備的開發需求。需要注重的是,Java Card盡管與J2ME有關聯,但卻并不是它的組成部分。
   J2ME的起源和發展歷程(圖二)
   源自Green Project的Oak 
  
  Java技術的第一個雛形是Oak,這是Sun公司為消費電子設備編程而開發的一個面向對象的、與機器無關的編程語言。Oak答應你編寫出無需修改就能在不同設備上運行的軟件,這也是“編寫一次,到處運行”的首次實現。Oak受到很多種語言的影響,包括C、Objective C、C++,以及Smalltalk和Simula68,它是一種專為在資源有限的設備上開發應用的解釋性編程語言。
  
  Green Project不僅創建了Oak,同時還創建了一種操作系統、一種圖形用戶界面和一種名為Star7(*7)的手持設備,但它們過于超前,得不到廣泛的認可,因此在PersonalJava出現之前,我們再也沒有看到Sun公司把Java技術的應用瞄準消費電子設備。
   J2ME的起源和發展歷程(圖三)
  PersonalJava 
  
  Sun公司再一次推出的針對電子設備的Java技術是PersonalJava應用環境,它是專為有網絡連接和用戶界面的電子設備設計的,諸如機頂盒、基于Web的設備、PDA等。
  
  PersonalJava應用環境主要基于JDK 1.1 API,但同時也有一些包是來自JDK 1.2。PersonalJava要求完全支持Java語言規范和Java虛擬機規范,版本1.2a是最新的PersonalJava規范版本,它也很可能是一個終結版本。
  
  PersonalJava應用環境包括一個優化的Java類庫和一個名為Truffle的圖形化工具箱選件,該選件幫助開發者創建基于觸摸屏的用戶界面。為了盡可能地減少對內存的需求,PersonalJava規范定義了兩種包:一種是所有PersonalJava實現都必須支持的“強制包”;另一種是“可選包”。與JDK相比,PersonalJava應用環境不支持Swing用戶界面API,而是提供了一個精簡的AWT API,以及一些與AWT和Timer處理有關的特定PersonalJava API。表1列出了PersonalJava規范所支持的各種包。
  
  完整的PersonalJava應用環境包括一個軟件開發工具箱和優化的類庫、一個參考實現和仿真環境以及一些實用程序和工具,包括applet Viewer、JavaCheck實用程序等,它們幫助開發人員確認應用能夠符合PersonalJava規范的要求。
  
  目前,PersonalJava技術已經不再獨立存在,而是并入Personal Profile,成為J2ME的一部分。
  J2ME的起源和發展歷程(圖四)
  EmbeddedJava 
  
  EmbeddedJava應用環境是針對諸如汽車、過程控制設備等功能專一且內存受限的嵌入設備提出的。它也是基于JDK 1.1,其運行環境與PersonalJava應用環境很相似,但它不像PersonalJava是為特定設備定義的特定Java子集,而是答應用戶針對特定的設備使用所需要的Java技術,你不需要在你的設備中嵌入任何用不到的東西。EmbeddedJava規范的最新版本是1.1。
  
  EmbeddedJava規范答應獲得許可的廠商非常靈活地選擇它想在其設備中支持的Java特性,表2列出了EmbeddedJava規范支持的包。
  
  清注重,EmbeddedJava規范已經走到了其生命的盡頭,Sun公司將很快終止對它的支持。假如你正在使用EmbeddedJava應用環境,你應該趕緊轉移到適合你需求的J2ME配置和概要上去,通常的方式是從EmbeddedJava轉移到某些基于CDC的概要上去。
  
  Java Card
  
  Java Card是對J2ME的補充。它是Java在智能卡中的應用,典型的Java Card設備擁有8位或16位處理器,1M~5MHz的運行頻率,1.2KB的RAM和32KB的ROM。
  
  Java Card規范包括一個精心挑選的Java語言子集,它不支持大的原始數據類型,如長整型、雙精度型、浮點型、字符串型,動態的類載入、多線程以及其他一些Java技術特性。
  
  當前的Java Card是2.2版,它由三部分內容組成:
  
  ● Java Card虛擬機規范(Java Card VM) 它為智能卡定義了一組Java語言子集和虛擬機;
  
  ● Java Card運行環境規范(Java Card RE) 它為智能卡定義了運行行為;
  
  ● Java Card API 規范 它為智能卡定義了核心和擴展的Java包和類。
  
  此外,Java Card開發工具提供了一個Java Card RE和Java Card VM的參考實現以及其他一些工具,以幫助你實現基于小程序(applets)的Java Card技術。
  
  常見的Java Card技術應用包括數字身份證、安全的銀行儲蓄卡和用在移動電話中存儲電話和用戶賬號信息的SIM卡等。雖然Java Card是為智能卡設計的,但它也可以用于其他許多領域,例如在1998年的Java One大會上展示的Java戒指(Java Ring,又名 Java-Powered iButton)就只是Java Card的另外一種型態,Dallas SemicondUCtor公司將它制作成鈕扣外形,并將它鑲嵌在戒指之上。
  
  Spotless System 與 KVM
  
  K虛擬機(KVM)是Sun公司的一項代號為“Spotless System”研究工程的成果。該項目將Java技術移植到資源更為受限的設備上,其環境與PersonalJava應用環境不同,但在某些方面類似于Java Card運行環境。
  
  Spotless System項目的目標是“建立盡可能小的完整JVM,以支持針對小應用的完整字節碼指令集、類裝載、標準的非圖形類庫和基本類文件”。該小組最關心的是可移植性和代碼大小,而不是執行速度。為了測試該成果,該小組將其移植到Palm中。該系統包括如下組件: KVM、核心Java類庫子集、基于特定設備的數據庫和用戶界面API,以及用于把類文件從桌面機移植到Palm上的實用程序。 該成果一經公布,即在JCP中獲得好評,如今它已成為CLDC的一部分。
  
  J2ME:應運而生
  
  到20世紀90年代末,嵌入式設備和手持設備市場已經趨于成熟,日本推出的i-Mode Java手機迅速發展。與此同時,Java在服務器端的應用開發也迅猛發展,Java語言的平臺獨立性、安全性等特點開始得到充分發揮,市場份額迅速提高。在這種情況下,以前的Java產品治理方式已經不能適應迅速發展的市場,為此,Sun公司在1999年下半年決定將Java兵分三路,推出了針對不同的應用開發者和不同的運行環境:
  
  ● Java 2平臺標準版(J2SE) 它是一組針對傳統桌面應用的API和運行環境;
  
  ● Java 2平臺企業版(J2EE) 它是J2SE的擴展集,主要用于在服務器端開發可伸縮、可遷移、以數據庫為核心的企業應用;
  
  ● Java 2平臺微型版(J2ME) 它定義了一組針對嵌入式設備和消費電子設備的API和運行環境,這些設備包括無線手持設備、PDA、電視機頂盒以及其他缺乏足夠的資源去支持J2SE的設備。
  
  把Java 2平臺分成三種版本使得它能夠更好地滿足不同目標領域中開發者的需求,同時也使Java技術在保持其“編寫一次,到處運行”精神的同時在不同領域得到繼續發展。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 水富县| 仲巴县| 当涂县| 仪陇县| 涿鹿县| 台北县| 资溪县| 灵丘县| 本溪市| 溧水县| 天津市| 收藏| 监利县| 淳化县| 女性| 永安市| 宝坻区| 舟曲县| 静安区| 上饶县| 当雄县| 澄迈县| 沈阳市| 南丰县| 化州市| 贵定县| 区。| 武威市| 睢宁县| 临邑县| 阳信县| 邮箱| 阳东县| 苏州市| 拉孜县| 石首市| 永寿县| 广河县| 墨竹工卡县| 武夷山市| 陕西省|