黑馬程式設計師_java高新技術之動態代理
阿新 • • 發佈:2019-02-08
----------- android培訓、java培訓、java學習型技術部落格、期待與您交流! ---------
一.代理物件存在的價值:當.class檔案 被類載入器載入 到記憶體 形成Class物件,所有程式訪問都是針對Class物件 ,動態代理技術可以根據Class物件的實現介面,在記憶體中虛擬構造一個物件,該物件成為代理物件,訪問真實物件的所有API的過程中 都將通過代理物件去訪問 。
二.動態代理編寫步驟:
1、編寫真實業務物件
2、使用動態代理,必須為真實物件提供一個介面
3、使用Proxy的newInstance 根據真實業務物件,建立代理物件
4. 根據代理物件取間接訪問真實物件
5、攔截真實訪問後,阻止對目標訪問、修改引數、修改返回值
三.動態代理原理圖:
四.總結:動態代理技術主要用於攔截對真實業務物件的訪問,代理物件應該提供與真實業務物件一樣的方法,使用動態代理,只要為真實業務物件生成代理物件即可,操作代理物件的方法,間接訪問真實物件的業務方法。
--------------------- android培訓、java培訓、java學習型技術部落格、期待與您交流! ----------------------