日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java反射最佳实践,java反射性能测试分析

發布時間:2023/11/27 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java反射最佳实践,java反射性能测试分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java反射性能測試分析

java有別于其他編程語言而讓我著迷的特性有很多,其中最喜歡的是接口設計,他讓我們設計的東西具有美感。同樣反射也是我比較喜歡的一個特性,他讓程序自動運行,動態加載成為了可能,同時也是現在很多流行框架所必不可少的特性,struts,hibernate等都是,spring本身就是基于反射的就更不用說了。細細想來,似乎很少有不涉及到反射的框架。我自己設計框架的時候,開始也都是運用反射,但是越深入卻讓我越疑惑,反射的效率一

直是我設計框架的心病。

今天在優化InstantMVC的時候就考慮怎么提高自動封裝form的效率,struts是用的commons-beantuils,好像也沒人說struts的效率不高,誠然,beanUtils中很多有用方便的特性讓反射開發者著迷,但是通過我今天的測試,卻發現beanUtils的易用性要付出巨大的性能代價,雖然在現在這個年代,這么點性能不算什么,但是對于我這種執著的人開發執著的框架,還是對性能有種獨特的偏好,目前來說InstantMVC中用的是直接的反射簡單封裝,而InstantORM(我的持久層框架)中用到是自動生成pojo和相應的pojo輔助類來實現動態高效(比直接的反射高效10-20倍)執行 Object的方法(一般是get和set),對于InstantMVC的form利用動態生成輔助類有一定的難度,不是說實現難度,而是對于運用該框架的web開發者來說,不夠直接。所以還是主要考慮用反射的,廢話不說,下面

開始今天的測試。

首先,測試主要有三部分組成,測試創建對象的性能,測試set方法的性能,測試get方法的性能。我沒有看過beanUtils的源代碼,不過評我的經驗想想BeanUtils應該是做了一些性能的優化的,初步猜測是第一次運行緩存Object的相應東東(具體是什么也不知道),所以測試的時候都是從第二次開始,忽略第一次。下面是測試代碼(省略了異常拋

出。)

public class MyBean {

String name;

int age;

String[] firends;

public static void main(String args[]) {

Object o1=beanUtilsCreate();

Object o2=javaCreate();

MyBean my=new MyBean();

long a=System.currentTimeMillis();

總結

以上是生活随笔為你收集整理的java反射最佳实践,java反射性能测试分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。