<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 53, 文章 - 0, 評論 - 3, 引用 - 0
    數(shù)據(jù)加載中……

    訪問Java對象屬性的性能模型。

    今天做了一個簡單的性能測試。比較訪問Java對象屬性的各種方法的性能差異。
    1. 直接訪問對象的屬性。
    2. 用方法訪問對象的屬性。
    3. 用Map來存儲和訪問。
    4. 反射-Field 訪問。
    5. 反射-Method訪問。

    重復(fù)100次,結(jié)果如下(單位為納秒)。
     * 100 field access, 14,806<br/>
     * 100 method access, 20,393<br/>
     * 100 map access, 66,489<br/>
     * 100 reflection field access, 620,190<br/>
     * 100 reflection method access, 1,832,356<br/>
    重復(fù)100000次,結(jié)果如下(單位為納秒)。
     *100000 field access, 2,938,362
     *100000 method access, 3,039,772
     *100000 map access, 10,784,052
     *100000 reflection field access, 144,489,034
     *100000 reflection method access, 37,525,719 <br/>
     
    由結(jié)果可見:
    1。getter/setter 的性能已經(jīng)接近直接屬性訪問(大約慢50%),沒有必要擔(dān)心getter/setter的性能而采用直接屬性訪問。
    2。用Map代替POJO的代價大約是比getter/setter慢三倍。
    3。反射訪問比getter/setter慢50到150倍。慎用。追求動態(tài)性的時候也要注意不菲的性能代價。
    4。注意重復(fù)次數(shù)增加到100000次,方法訪問和屬性訪問的差距縮小;更有意思的是,反射的Method訪問比Field訪問快四倍。這主要是JIT的作用。

    該測試結(jié)果和原先的猜想基本符合。但是性能評估很容易得到片面的結(jié)論,如果有錯誤的地方,請大家不吝指正。謝謝。

    posted on 2010-04-09 15:57 InPractice 閱讀(337) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩亚洲变态另类中文| 男男gay做爽爽的视频免费| 亚洲精品456人成在线| 国产A∨免费精品视频| 好大好硬好爽免费视频| 亚洲va久久久噜噜噜久久 | mm1313亚洲国产精品无码试看| 亚洲国产一区明星换脸| 亚洲日本va在线观看| 91视频免费网址| 亚洲av永久无码精品漫画 | 永久久久免费浮力影院 | 华人在线精品免费观看| 亚洲国产婷婷香蕉久久久久久| 国产精品免费无遮挡无码永久视频 | 一级特黄录像视频免费| 免费二级毛片免费完整视频| 亚洲国产欧美国产综合一区| 97在线观免费视频观看| 色老板亚洲视频免在线观| 亚洲伊人久久综合中文成人网| sihu国产精品永久免费| 亚洲精品天堂在线观看| 亚洲精品国精品久久99热一| 国产成人久久AV免费| 国产成人亚洲精品播放器下载| 亚洲国语精品自产拍在线观看| 日韩精品极品视频在线观看免费 | 久久久久亚洲av毛片大| 成全视频高清免费观看电视剧| 亚洲国产精品人人做人人爽| 亚洲精品国产日韩无码AV永久免费网| 亚洲国产综合精品| 好吊妞788免费视频播放| 先锋影音资源片午夜在线观看视频免费播放 | 亚洲成a人片在线观看国产| 国产国产人免费视频成69堂| 最新国产精品亚洲| 亚洲欧洲日韩国产综合在线二区| 亚洲色偷偷综合亚洲AV伊人| 国产男女猛烈无遮档免费视频网站|