J2ME的概述,結構,現在與未來,以及我能用J2ME做什麼?
原文出處:
目錄
對於這一篇文章,我覺得沒有比現有的資料更詳細了,所以我把那些現有的文字搬到這裡來。並把這些內容作為我的系列文章的砸轉石。
J2ME 是什麼?
Sun Microsystems 將 J2ME 定義為“一種以廣泛的消費性產品為目標的的高度優化的 Java 執行時環境,包括尋呼機、行動電話、可視電話、數字機頂盒和汽車導航系統。” 自從 1999 年 6 月在 JavaOne Developer Conference 上宣告之後,J2ME 為小型裝置帶來了 Java 語言的跨平臺功能,允許移動無線裝置共享應用程式。有了 J2ME,Sun 已經使 Java 平臺能夠適應整合了或基於小型計算裝置的使用者產品。
J2ME 總體架構
J2ME 使用配置和簡表定製 Java 執行時環境 (JRE)。作為一個完整的 JRE,J2ME 由配置和簡表組成,配置決定了使用的 JVM,而簡表通過新增特定於域的類來定義應用程式。
配置將基本執行時環境定義為一組核心類和一個執行在特定型別裝置上的特定 JVM。我們將在 J2ME 配置一章中詳細討論配置。
簡表定義應用程式;特別地,它向 J2ME 配置中新增特定於域的類,定義裝置的某種作用。我們將在 J2ME 簡表一章中深入介紹簡表。
下面的圖表描述了不同的虛擬機器、配置和簡表之間的關係。它同時把 J2SE API 和它的 Java 虛擬機器進行了比較。雖然 J2SE 虛擬機器通常被稱為一種 JVM,但是 J2ME 虛擬機器、KVM 和 CVM 都是 JVM 的子集。KVM 和 CVM 均可被看作是一種 Java 虛擬機器 -- 它們是 J2SE JVM 的壓縮版,並特定於 J2ME。
配置將基本執行時環境定義為一組核心類和一個執行在特定型別裝置上的特定 JVM。雖然還可能在將來定義其他的配置,但當前 J2ME 存在兩種配置:
- 連線限制裝置配置 (CLDC) 特別與 KVM 一起用於記憶體有限的 16 位或 32 位裝置。這是用於開發小型 J2ME 應用程式的配置(虛擬機器)。(從開發的角度來看)它的大小限制讓它比 CDC 更有趣、更具挑戰性。CLDC 同時還是用於開發繪圖工具應用程式的配置。 Palm 電腦便是一個執行小應用程式的小型無線裝置的示例。我們將在 J2ME 配置一章中深入介紹 CLDC。
- 連線裝置配置 (CDC) 與 C 虛擬機器 (CVM) 一起使用,用於要求記憶體超過 2 兆的 32 位體系結構。網際網路電視機頂盒便是這類裝置的一個示例。雖然稍後我們將在 CDC API 一章中簡要介紹 CDC,但它並不在本教程的範圍內。
簡表定義了您的應用程式所支援的裝置型別。特別地,它向 J2ME 配置新增了特定於域的類來定義裝置的某種作用。簡表建立在配置的頂部。已經為 J2ME 定義了兩種簡表:KJava 和移動資訊裝置簡表 (MIDP),它們也被建立在 CDLC 上。這兩種簡表適用於小型裝置。
有一種綱要簡表,您可以在它的上面建立自己的簡表,這種綱要簡表也稱為基礎表,可供 CDC 使用。然而,在本教程中,我們只重點介紹建立在 CLDC 頂部,適用於小型裝置的簡表。
我們將在後面的章節中討論上述這些簡表,還會使用 KJava 和 MIDP 建立一些示例應用程式。
J2ME 目標裝置
使用 CLDC 開發的 J2ME 應用程式的目標裝置通常具有以下特徵:
- 可供 Java 平臺使用的 160 到 512 千位元組的總記憶體
- 功率有限,常常是電池供電
- 網路連通性,常常是無線的、不一致的連線並且頻寬有限
- 使用者介面混亂,程度參差不齊;有時根本就沒有介面
一些 CLDC 支援的裝置,包括無線電話、尋呼機、主流個人數字助手 (PDA),以及小型零售支付終端。
依照 Sun Microsystems,CDC 的目標裝置通常具有以下特徵:
- 使用 32 位處理器
- 2 兆位元組或更多可供 Java 平臺使用的總記憶體
- 裝置要求的 Java 2 “藍皮書”虛擬機器的全部功能
- 網路連通性,常常是無線的、不一致的連線並且頻寬有限
- 使用者介面混亂,程度參差不齊;有時根本就沒有介面
一些 CDC 支援的裝置,包括常駐閘道器、智慧電話和通訊器、PDA、管理器、家用電器、銷售網點終端以及汽車導航系統。
下面的圖表描述了支援 J2ME 應用程式的裝置,同時說明了 J2ME 適合 Java 平臺之處:
以上是從官方文件摘錄下來的文章。下的一些文字是從j2medev.com上獲取的,版權貴j2medev.com所有。我只是提供給大家學習之用
J2ME的現狀。
隨著行動通訊的突飛猛進,移動開發這個新鮮的字眼慢慢成為開發者關注的熱點。在CSDN
的最近一份調查顯示,有24.34%的受訪者涉足嵌入式/移動裝置應用開發,這個數字可能略高於實際的比例,但也足可說明嵌入式/移動裝置應用開發是一塊誘人的新鮮乳酪。J2ME(Java 2Micro Edition)是嵌入式/移動應用平臺的王者,Linux 和WinCE 分列二、三位。Nokia 等廠商力推的Symbian 平臺目前開發者佔有率尚未達到滿意水平,考慮到調查項合併了嵌入式裝置(例如PDA)和移動裝置(例如智慧手機),Symbian、WinCE 系列在移動平臺上會是競爭的主要兩方。如果廠商能在標準實現上做得更加規範,則J2ME 的跨平臺特性會揮得更加淋漓盡致,繼續保有王者地位。本章將從J2ME 的體系結構和MIDlet 應用程式模型。
J2ME的未來。
結合我從事1年的j2me工作來講,j2me在企業方面的應該還算不多,而且成功的也比較少,不過在遊戲上的到是全面開花,現在很多pc上的遊戲手機上都有複製品。而且收費的方式1.以移動百寶箱的形式,比如下載一個遊戲給多少錢,這樣的模式。
2.網路遊戲的形式,比如售賣點卡之類的,虛擬物品交易等。(不過這方面佔的比例很小)。
3.會員收費制度,比如一些提供增值服務的軟體。靠收取會員費用。這方面的應用有IM,股票之類的交易系統,彩票資訊系統等。
現階段J2ME的發展還處在一個爆發增長的前期。出於JSR出的各個規劃,對於各大手機廠商支援不統一,導致了業界所說的write once debug anywhere! 另外一個就是手機網路的各種限制。比如移動全球通跟現在的網際網路一樣,可以支援各種協議,但是動感地帶等其他卡卻只能支援HTTP。所以一些高階的應用沒辦法推廣。而且網路速度也不快。
現在可以說是J2ME本身的技術已經相對成熟,而且市面上的終端基本都符合了大規模的應用J2ME,就只欠東風了,而這東風我想就是-----3G了。
所以說J2ME的未來在3G
經過上面的學習,我想大家對J2ME也算是有可初步的認識了。有了基本認識,心裡自然就會想到,我學習它就是要讓它為我所用,這是最重要的。J2ME能為我做些什麼了?下面讓我們來看看我找的這些優秀的應該吧。
發達通----一個足球即時資訊軟體,這款軟體是我入道的第一個j2me軟體。網路地址是:
BOBI -----同上, 地址: http://www.exgoal.com/ViewPage.action?siteNodeId=19
UCWEB ---- 一個用j2me寫成的Wap瀏覽器,即說有相當部分人群在使用.
航海家 --- 同上,聽說活躍使用者超過了UCWEB了。
WAP EXPLERE ---同上,這個軟體只是完成了一個框架,出自我的手筆。
6.至於股票之類的應用想來也很多,大家可以上網搜尋下,遊戲這裡就不做介紹了
綜合可以大概瞭解到,我們能做以下方面的工作:
遊戲。
企業應用,比如足球諮詢,彩票諮詢,配合SP使用,做的好的話,前景也不錯
通用軟體,好的軟體是永遠被人記住的
在這裡我總結下J2ME能實現的功能
提供一個高階的UI實現各種企業應用程式
提供一個低階的UI實現遊戲,其他軟體所需要的基礎設施。
提供對本地程式的呼叫,比如呼叫一個本地Wap瀏覽器。
提供對本地檔案的訪問
提供對本地電話號碼等資訊的讀取
提供對MMS,SMS等支援,也可以提供打電話的支援
提供對音訊,視訊檔案的處理API。這樣我們就可以構建各種豐富的娛樂軟體了。
提供對網路的基本支援。包括http等協議。這樣就可以構建豐富的網路應用程式
提供J2SE的簡化API,具體要去檢視API。
10.3D的支援。這樣就可以構建一個好遊戲了。
11.其他。
10.提供
一個入門的詳細的例子,等著我啊!!!!!哈
相關文章
- Java能用來做什麼的?Java
- j2me rms 的奇怪問題
- J2ME的檔案系統運用(一)
- Python那麼火,到底能用來做什麼?我們來說說Python3的主要應用Python
- 面向未來,我們來聊一聊什麼是現代化資料架構架構
- 關於CNNet,cnwap j2me聯網實踐。CNN
- 想要玩轉資料視覺化?先弄清我們能用非結構化資料做什麼吧視覺化
- 【思考未來】你憑什麼不下崗?我在問自己。
- J2SE的基本簡介與J2EE/J2ME的差異
- 資料智慧的現在與未來
- 繼續推動javaeye j2me板塊發展Java
- 【王牌測評】輕量雲主機能用來做什麼?
- 你究竟能用Python做什麼?Python
- AI晶片的過去、現在與未來AI晶片
- Java動態代理與靜態代理以及它能為我們做什麼Java
- React Hooks 可以為我們帶來什麼,及為什麼我覺得React才是前端的未來ReactHook前端
- [譯] 你究竟能用 Python 做什麼? 我們一起來看下 Python 的 3 個主要應用方向Python
- 遊戲將帶我們到什麼樣的未來?遊戲
- 在定製硬體上實現DNN近似演算法,一文概述其過去、現在與未來DNN演算法
- 79、概述struts,以及struts如何實現MVC架構的?MVC架構
- 未來我們需要一輛什麼樣的智慧汽車?
- 為什麼我對JavaScript的未來持樂觀態度?JavaScript
- Serverless 可觀測性的過去、現在與未來Server
- 【大型軟體開發】淺談大型Qt軟體開發(二)面向未來開發——來自未來的技術:COM元件。我如何做到讓我們的教學模組像外掛一樣即插即用,以及為什麼這麼做。QT元件
- 遠端辦公在未來會是普遍現象嗎?理由是什麼?
- Web攻擊日誌分析的過去現在與未來Web
- 亮相 LiveVideoStackCon,透析阿里雲窄帶高清的現在與未來IDE阿里
- RTS的過去,現在和未來
- 摩爾定律的現在及未來
- Java聯結器架構:EAI的未來?Java架構AI
- 資料結構與演算法——概述資料結構演算法
- Damus 是什麼以及我怎麼看
- 我在大廠做 CR——為什麼建議使用列舉來替換布林值
- 在Linux中,體系結構是什麼?Linux
- 智慧經營平臺還能用來幹什麼?
- 為什麼 GraphQL 是 API 的未來API
- 未來的女朋友是什麼樣
- 元宇宙的未來是什麼?XZG元宇宙