<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)航:
     
    主站蜘蛛池模板: 91精品导航在线网址免费| 羞羞网站在线免费观看| 免费观看在线禁片| 亚洲中文字幕在线乱码| 国产免费久久精品99久久| 亚洲欧洲国产成人综合在线观看 | 99久久综合国产精品免费| 亚洲精品影院久久久久久| 性色午夜视频免费男人的天堂| 亚洲av永久无码精品古装片| 99视频免费观看| 亚洲国语在线视频手机在线| 在线观看免费人成视频色9| 国产成人精品日本亚洲网址| 在线精品免费视频无码的| 亚洲AV无码一区二区三区网址| 国产精品色午夜视频免费看| 成人免费视频一区二区| 国产成人A亚洲精V品无码| 嫩草影院在线播放www免费观看| 亚洲天堂在线播放| 成人免费福利视频| 亚洲AV无码男人的天堂| 亚洲日韩人妻第一页| 57pao一国产成永久免费| 国产精品亚洲自在线播放页码 | 亚洲视频人成在线播放| a级毛片高清免费视频就| 亚洲国产韩国一区二区| 成人永久免费高清| 中文在线免费不卡视频| 亚洲精品无码久久久久久久| 免费看香港一级毛片| 久久www免费人成精品香蕉| 亚洲人成网址在线观看| 综合一区自拍亚洲综合图区| 我要看免费的毛片| 老司机午夜性生免费福利| 亚洲av鲁丝一区二区三区| 在线观看成人免费视频| 久久精品免费电影|