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

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

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

    隨筆 - 3, 文章 - 152, 評論 - 17, 引用 - 0
    數據加載中……

    Java反射簡述

    Java中反射Reflection就是對類信息的元數據的描述與操作,首先是對加載的類的信息的獲得,其次是實例化和操作對象。

    類信息有java.lang.Class提供描述。Class對象由三種方法獲得,第一是調用對象的getClass()方法;第二是直接使用類的.class形式;第三是直接使用Class.forName(String)的形式;

    和反射打交道使用較多的類是java.lang.reflect.MethodFieldConstructor分別對應方法調用、屬性與屬性修改、構造函數使用三個方面,具體api查看文檔;數組類型比較特殊具體參考java.lang.reflect.Array

    關于反射的兩個誤解:反射代碼速度很慢;反射代碼都是復雜的;

    ――――如果使用得當,反射不會降低性能,正確的使用反射實際上應該改進代碼的可維護性。反射的直接使用應該僅局限于基礎機構類,不應該被分散到應用對象中。Rod Johnson

    反射的api學習不是關鍵,關鍵是掌握其本質,并能夠在實際中合適的使用它。掌握反射是一個認真的java程序員該做到的。實際中已用到的反射的例子:strutsformbean從請求中自動填充、apacheBeanUtil包;strutsDispatchAction根據參數傳遞的方法名字動態調用本實例的具體方法;工廠模式中根據參數傳遞的類名來動態加載并實例化一個產品。

     

           動態代理

    jdk1.3提供的一種在運行時實現特定接口并生成相應代理實現,從而可以截取對該接口實現的調用。截取對每個實現方法的調用對處理提供了很大的空間,你可以在方法調用前后進行相關的處理,同時還可以隨意調用非實現對象的方法。這種截取適用于資源的獲得和釋放、記錄日志、獲取性能信息等情況。動態代理是一種Aspect Oriented Programming (AOP)的實現,同時經常在容器和服務器級別使用。

    實際使用動態代理的例子:代理Connection來自動關閉該連接打開的Statement;在業務方法前后添加日志記錄。

    posted on 2005-07-19 09:18 閱讀(253) 評論(0)  編輯  收藏 所屬分類: Reflection


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲尹人九九大色香蕉网站 | 最近2019中文字幕mv免费看| 国产亚洲AV无码AV男人的天堂| 美女视频黄a视频全免费网站一区| 日韩中文字幕在线免费观看| 在线a亚洲老鸭窝天堂av高清| 免费看韩国黄a片在线观看| 亚洲国色天香视频| 亚洲欧洲免费无码| 亚洲国产精品美女久久久久| 青青青青青青久久久免费观看| MM1313亚洲国产精品| 全部免费a级毛片| 国产V片在线播放免费无码| 亚洲成a人片在线观看无码专区| 久久免费区一区二区三波多野| 久久丫精品国产亚洲av| 毛片a级毛片免费播放100| 亚洲国产成人久久综合| 亚洲国产成人VA在线观看| 在线涩涩免费观看国产精品| 亚洲女人初试黑人巨高清| 成人永久免费高清| 久久99久久成人免费播放| 337p日本欧洲亚洲大胆精品555588| 免费精品国产自产拍在线观看图片 | 免费无码又爽又黄又刺激网站| 亚洲午夜国产精品无码| 猫咪免费人成网站在线观看| 亚洲色无码专区一区| 中文字幕亚洲专区| 亚洲视频免费在线看| 亚洲国产成人无码AV在线| 中文字幕亚洲一区| 日韩欧毛片免费视频| 日韩色视频一区二区三区亚洲| 曰韩亚洲av人人夜夜澡人人爽| 日本视频一区在线观看免费| 欧洲美女大片免费播放器视频| 亚洲视频在线观看| 四虎永久成人免费|