亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

J2ME設備的實際性能

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

  J2ME設備的實際性能
性能標準可以幫助開發者開發出更好的應用程序

摘要
設備的性能可以幫助開發者開發出能讓用戶有好的體驗的應用.了解性能可以幫助開發者了解每種設備的優缺點以及為具體設備開發合適的應用.進行性能測試是從底層來評價設備的.這篇文章是描述的是關于現有一些的J2ME(java 2 Platform,Micro Edition)設備在Java 無線應用核心性能測試結果的文章.測試中心根據設備在測試中的性能分成不同的幾類:虛擬機(VM)性能, 線程切換(thread-switching), 圖形(graphics), RMS (record management system), 網絡通信性能(network communication), 以及xml解析(XML parsing).

第一部分:J2ME設備:真實性能

J2ME(Java 2 Platform,Micro Edition)設備早已在亞洲與歐洲推出,現在也開始在美國推出了.廠商早已經推出了成千上萬具有J2ME功能的GSM手機和PDA,不久的將來J2ME平臺將成為通信設備/消費類設備等基本的功能.java的跨平臺特性將允許一個程序可以在不同設備上運行.

然而,隨著java設備越來越多,由于處理器,虛擬機還有設備的內存的不同導致針對某個產品的應用也存在很大的差異.不同的商家可能會開發出各自的虛擬機.因此,設備性能是編寫適合的程序的前提.在桌面平臺活服務器環境下,廣泛被接受的傳統的指標有:CaffeineMark, Linpack, SPECmarks和Dhrystones,但卻大多與J2ME設備的性能無直接聯系的.J2ME設備屬于嵌入式的輕量級的運算設備,而不具備傳統桌面或服務器同樣的性能.所以,我們必須先弄明白怎樣來測試J2ME設備的性能.

J2ME設備強調的不是巨大的運算量和復雜程度,而是簡單的用戶業務.因為特別小的屏幕尺寸和很麻煩的輸入系統,使得有一個良好的用戶體驗的用戶界面和運算成為每一個J2ME應用極其重要的一個要求.

在這篇文章里,我們從用戶的角度來測試J2ME設備的性能,而不是從特定設備的處理器或運行的操作系統出發的.測試關注的是通過啟動某個特定的功能,看能否為用戶帶來良好的體驗.

目標平臺
因為當前市場上出現的內置J2ME平臺的設備只有支持CLDC 1.0和MIDP 1.0,我們的測試是基于J2ME CLDC/MIDP1.0的.等將來支持更高的J2ME版本的設備出來之后我們再更新這個基準.

測試的設備
截止到2002年5月15日,市場上已經可以找到70多種支持J2ME的移動設備,而且數量還在很快的增長中.

在測試中我們用到下列設備,這里是根據設備的功能分類,而不是根據性能分類.
通用的java電話 :
Siemens SL45i/6688i
Siemens M50 (也就是3118)
智能電話:
Nokia 9210 Communicator
Nokia 7650
Motorola Accompli 008 (也就是A6288)
Motorola 388
PDA:
Palm m125
HandsPRing Treo 270 Communicator
ipAQ 3760
J2ME Wireless Toolkit (PC模擬器)

雖然J2ME Wireless Toolkit 1.04 有根據設備定制,異常跟蹤,內存使用管理等功能,但為了更好的作比較,我們都不使用這些功能,而且是基于Microsoft Windows2000和Intel Pentium4 1.5-GHz的環境下來測試我們的基準應用程序的.

iPAQ3760支持PersonalJava(Jeode)和J2ME(IBM J9 VM).通過ME4SE技術,J2ME應用程序可以轉換成PersonalJava應用程序然后在PersonalJava環境測試.在iPAQ3760上我們同時使用Jeode和IBM J9環境來測試我們的基準程序.

在Palm m125,我們用了兩個不同的J2ME虛擬機:
1.Sun的MIDP for Palm OS 1.0,可以從Sun的網站下載
2.IBM的J9 VM for Palm,在IBM WebSphere Studio Device Developer 4.0(可以**下載)自帶

這里我們列舉了內置J2ME(MIDP1.0)的移動設備的最低硬件要求:
Java version: CLDC 1.0 + MIDP 1.0
Memory needed: 128 KB of nonvolatile memory for MIDP components, 8 KB of nonvolatile memory for application-created persistent data, 32 KB volatile memory for Java runtime
Screen size: 96 x 54 pixels
Display depth: 1 bit
Pixel shape: 1:1
Networking: Two-way, wireless, with limited bandwidth
Input: One or more of the following: one-handed keyboard, two-handed keyboard, toUCh screen

第二部分:測試步驟

測試步驟
因為不同的設備有不同的硬件配置、操作系統和Java實現平臺,我們提供一個一般的標準和相關的應用程序來測試和比較各種各樣的J2ME設備的性能。我們定義了基準的兩個不同層次:核心層次和應用層次。

核心層次:
我們拿出一個具有普遍意義的主意:看看這些J2ME虛擬機在執行常見的通用指令的時候所消耗的時間,這些指令有:邏輯比較、循環、方法調用、比較API調用等,對于這些低層次的指令,這里我們只考慮它們的速度性能。這些核心層次的測試是與應用程序無關的。

應用層次:
我們有一個普遍性的想法:看看不同的J2ME設備在運行常見的應用接口的時候所消耗的時間,例如在顯示屏上繪制一張圖片、打開一個HTTP連接、在本地文件系統儲存數據、解析XML文檔等。因為有些會消耗更多的內存,所以在定制基準中我們會給出內存使用信息。然而,因為不同的J2ME設備在內存占用原理方面幾乎沒有什么不同的,所以在確定的基準程序中我們不再考慮內存問題。

我們只對通用的J2ME平臺性能設定基準,而不對個別的應用程序的性能或對應用程序的瓶頸做優化而設定的基準。但應用程序開發者可以通過了解我們的基準測試來比較那些占用更多處理器時間和堆棧大小的程序。開發者可以通過這些基準來判斷那些內嵌有J2ME平臺的設備的性能。

很多公司為Java性能定義了一些基準程序策略(有些是**的,有些則不是),大部分是用來測試桌面和服務器端的運行環境的,有些還提供了功能強大的工具,例如支持線程管理。在我們的標準中,我們會沿用基準的通用程序,還會用到典型的測試域。

在核心層次的測試中,我們選用了J2SE基準程序的通用測試域,同時還會加上一些我們自己的。在每一個測試域中,我們執行一個帶有一小段測試代碼的循環語句,從結果中我們就可以獲得其速度(循環次數/秒),我們建立了一個名為JKernelMark(version1。0,10kb)的應用程序來作為核心層次的基準程序。

在應用層次的測試中,我們先定義了一些測試域,在每個測試域里我們執行帶有一段測試代碼的方法,從結果中就可以得到速度(每執行一次的毫秒數)。我們根據不同的J2ME API制作了不同的基準程序,為J2ME標準API制作了JAppsMark(version1。0 14KB)程序,為第三方API,例如關于XMLParse的,我們用kXML制作了JXMLMark程序(version1。0 21KB)來測試XML解析。

基準程序的細節
每一個基準程序都會用一個MIDlet來執行,下面解釋我們在測試中用到的每一個基準程序。

JKernelMark
JKernelMark測試的有:

過濾:這是一個在給定數學公式和條件的情況下可以得到精確的結果的算法.

循環:JKernelMark測試虛擬機對循環優化到什么程度.這是一個能輸出精確的表達式循環的結果.基準程序將這個結果放到一個數組中,并顛倒了數組的排列順序.

邏輯運算:JKernelMark可以測試VM對邏輯結果的運算速度.JKernelMark創建了很多Boolean類型的變量,并且在很多循環語句里對這些變量進行取反運算.

字符串:在這里,我們測試了VM對典型的字符串操作的運算速度.JKernelMark在一個循環結構里創建了一個StringBuffer變量,接著添加一個字符串到這個StringBuffer變量去,并且準確指明新字符串的位置.

方法:JKernelMark測試VM在處理方法調用的時候的速度.它是通過計算遞歸函數總共需要的時間的.

內存分配與垃圾回收:這里,JKernelMark測試內存分配的速度以及垃圾回收對性能的影響有多大.它連續地在內存里創建新的對象和字節數組(每個循環大約要在堆棧里創建20KB的對象)如果內存不夠的話,系統會開始回收垃圾同時會明顯的影響創建新對象的速度.

JKernelMark 得分標志:每秒循環的次數;得分越高說明性能越好.

JAppsMark
JappsMark測試的內容用:

網絡通信:用Java手機通過HTTP連接到一個Web系統,并且從響應中讀取200byte的信息,同時記錄下總共所消耗的時間.測試的執行時間也包括了網絡的延遲.如果測試失敗,我們記錄為測試失敗.盡管一部手機內嵌了J2ME,但你還是需要一張能提供數據服務的GSM或GPRS的SIM卡.當然也有其它方法來配置J2ME設備來完成這種測試,這里不作介紹.例如你可以直接把手機與PC連接起來.

低層的圖形用戶界面(Low-level GUI):JAppsMark測試了Java手機在屏幕上繪圖的性能.這個測試是通過加載一個圖片文件并隨機在一個250象素的canvas描繪出來,并記錄不同的設備子完成這個程序所消耗的時間.

RMS (record management system):關于RMS測試,是用一個MIDP程序創建一個record store,增加一條記錄,從新返回RecordStore對象,通過反復地記錄,最終刪除這個record store,并記錄不同設備在完成這個過程所消耗的時間.

線程轉換:JAppsMark測試VM在線程轉換方面的速度.

JAppsMark的得分表明:每運行一次的毫秒數;這個數字越小,性能就越好.

JXMLMark
XML解析在J2ME里是很有趣的,J2ME還沒有標準的XML相關的API.因為普通的XML解析相對于移動設備來說顯得太笨重了,包括運行時性能、用戶的感覺、代碼的大小等性能參數在J2ME的XML解析里就顯得十分重要了。

有三個方法可以解析XML:

1、原型解析讀入整個文件,并且在內存里創建一個文件的映射。原型解析比其它類型的解析占用的內存多得多。
2、推動式解析雖然也是讀入整個文件,但是它把文件分成很多部分,并且連接了一個對象監聽器。這就是流行的SAX (Simple API for XML)解析的運作原理。
3、拉式解析每次只讀取文件的一小部分,應用程序通過反復的請求讓整個文件被解析。

盡管MIDP 1.0沒有包括XML解析,由于XML的重要性,Sun打算在MIDP2.0里添加一個能夠實現跨平臺數據交換的微型且高效的XML解析器。

在輕量型的XML解析器中,kXML是最流行并且使用標準XML解析API,能在MIDP環境運行的XML解析器之一。

因此我們把kXML作為XML解析的基準速度的基本的API。我們使用的是kXML1.21,因為kXML 2.0還在alpha測試中(我們設計我們的程序的時候)。

因為內存有限,所以J2ME移動設備只能解析很小的XML文件。我們創建了一個簡小的XML文件作為我們的基準,如下所示。DTD (document type definition)不是必要的,因為kXML不支持DTD。

<?xml version="1.0" encoding="UTF-8" ?>
<message_list>
<message>
<header>
<status>xxxStatus</status>
<command>xxxCommand</command>
<messageId>xxxMessageId</messageId>
<processingRule>xxXProcessingRule</processingRule>
</header>
<body>
<a>1</a>
<b bvalue="123" />
<c cvalue="1234">cvalue</c>
</body>
</message>
</message_list>

我們用一般的方式從頭到尾來解析這個XML文件并讀入每個標簽、每個屬性、每個值。需要更詳細的信息可以參考Jonathan Knudsen的"Parsing XML in J2ME"。

我們計算解析這個文件所需的時間(毫秒),并把這個時間作為得分。

得分的意思:每解析整個文件所需的毫秒數;這個數字越小,表明性能越好。

(出處:http://www.49028c.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频欧美视频| 亚洲永久免费观看| 中文字幕日本欧美| 欧美激情久久久久久| 日韩成人在线网站| 国产精品一区二区在线| 亚洲人精品午夜在线观看| 97精品国产97久久久久久春色| 欧美国产精品人人做人人爱| 亚洲欧洲国产伦综合| 欧美成人激情图片网| 成人网页在线免费观看| 日韩一区二区久久久| 欧洲精品在线视频| 亚洲国产精品一区二区久| 亚洲一区二区三区xxx视频| 国产精品欧美日韩| 国产精品一二三在线| 狠狠干狠狠久久| 富二代精品短视频| 粉嫩av一区二区三区免费野| 亚州av一区二区| 精品久久久久久亚洲国产300| 亚洲天堂av网| 日韩美女主播视频| 国产精品日韩欧美| 亚洲成色999久久网站| 中文字幕亚洲欧美日韩在线不卡| 欧美大成色www永久网站婷| 欧美在线国产精品| 欧美日韩亚洲国产一区| 日韩av片免费在线观看| 国产精品久久综合av爱欲tv| 欧美午夜视频一区二区| 日韩专区在线观看| 日韩在线播放一区| 社区色欧美激情 | 久久综合网hezyo| www.日韩.com| 欧美在线观看网站| 欧美一级视频一区二区| 国产精品亚洲自拍| 国产精品视频久久| 中文字幕亚洲综合久久筱田步美| 欧美成人小视频| 国产在线观看不卡| 国产一区二区三区日韩欧美| 日韩av电影手机在线观看| 亚洲无亚洲人成网站77777| 欧美日韩精品在线| 国产精品∨欧美精品v日韩精品| 精品国产91乱高清在线观看| 日韩精品免费在线| 亚洲色图五月天| 精品久久久国产| 亚洲天堂男人天堂| 色综合久久天天综线观看| 欧美精品videosex牲欧美| 中文字幕亚洲无线码在线一区| 国产精品久久久久久久久久久久| 欧美性猛交xxxx偷拍洗澡| 亚洲欧美一区二区三区情侣bbw| 91在线免费网站| 亚洲人成在线观看| 欧美视频免费在线观看| 久久久久久成人精品| 2024亚洲男人天堂| 成人写真视频福利网| 久久深夜福利免费观看| 欧美一区二区三区……| 日韩精品在线电影| 欧美性猛交xxxx| 日韩三级影视基地| 2020欧美日韩在线视频| 久久久在线免费观看| 亚洲女人天堂色在线7777| 日韩av有码在线| 国产激情综合五月久久| 欧美中文字幕第一页| 成人黄色av网站| 91精品国产乱码久久久久久久久| 国产精品成人在线| 日韩成人在线视频| 欧美日韩亚洲视频一区| 中文字幕日韩欧美在线| 久久精品一本久久99精品| 国产一区二区黄| 久久91亚洲精品中文字幕奶水| 亚洲免费视频一区二区| 亚洲аv电影天堂网| 97久久精品视频| 国产欧美精品xxxx另类| 国产精品一区二区久久国产| 久久成人18免费网站| 亚洲欧美第一页| 一本一本久久a久久精品牛牛影视| 97在线观看视频| 亚洲理论在线a中文字幕| 久久久在线视频| 欧美一区二区影院| 美女扒开尿口让男人操亚洲视频网站| 日韩最新免费不卡| 精品少妇v888av| 国产精品久久久久久网站| 中文字幕日本欧美| 欧美在线不卡区| 成人激情春色网| 久久精品国产2020观看福利| 亚洲色图色老头| 久久久亚洲精选| 国产日韩av在线播放| 欧美乱大交xxxxx另类电影| 久久精品中文字幕一区| 上原亚衣av一区二区三区| 综合136福利视频在线| 欧美国产日韩中文字幕在线| 成人国产精品久久久| 久久久影视精品| 成人福利视频网| 97视频免费在线观看| 国产精品久久不能| 久久亚洲精品视频| 91久久久在线| 日韩国产欧美精品一区二区三区| 国产91在线播放精品91| 亚洲自拍偷拍视频| 91精品啪在线观看麻豆免费| 欧美丝袜美女中出在线| xvideos亚洲人网站| 国产精品久久久久久久久久久新郎| 国产精品美乳在线观看| 欧美日韩国产一区二区三区| 成人h视频在线| 久久久久久久久久久网站| 国产欧美在线播放| 国产一区av在线| 亚洲精品资源美女情侣酒店| 欧美黑人巨大xxx极品| 92福利视频午夜1000合集在线观看| 色婷婷综合久久久久| 日韩高清电影好看的电视剧电影| 上原亚衣av一区二区三区| 91免费人成网站在线观看18| 国产在线观看一区二区三区| 欧美裸体男粗大视频在线观看| 国产精品激情自拍| 俺去了亚洲欧美日韩| 国产精品香蕉av| 欧美最近摘花xxxx摘花| 97香蕉超级碰碰久久免费软件| 九九热在线精品视频| 九色91av视频| 国产精品专区h在线观看| 国产精品女视频| 久久夜色精品国产欧美乱| 色噜噜狠狠色综合网图区| 精品国产一区久久久| 隔壁老王国产在线精品| 欧洲亚洲免费在线| www.久久久久| 欧美亚州一区二区三区| 亚洲精品中文字幕av| 精品综合久久久久久97| 久久久久久国产精品久久|