1. 程式人生 > >黑馬程式設計師_java高新技術之動態代理

黑馬程式設計師_java高新技術之動態代理

                                 ----------- android培訓java培訓、java學習型技術部落格、期待與您交流! ---------

一.代理物件存在的價值:當.class檔案 被類載入器載入 到記憶體 形成Class物件,所有程式訪問都是針對Class物件 ,動態代理技術可以根據Class物件的實現介面,在記憶體中虛擬構造一個物件,該物件成為代理物件,訪問真實物件的所有API的過程中 都將通過代理物件去訪問 。

二.動態代理編寫步驟:

1、編寫真實業務物件 
2、使用動態代理,必須為真實物件提供一個介面
3、使用Proxy的newInstance 根據真實業務物件,建立代理物件
4. 根據代理物件取間接訪問真實物件 
5、攔截真實訪問後,阻止對目標訪問、修改引數、修改返回值 

三.動態代理原理圖:


四.總結:動態代理技術主要用於攔截對真實業務物件的訪問,代理物件應該提供與真實業務物件一樣的方法,使用動態代理,只要為真實業務物件生成代理物件即可,操作代理物件的方法,間接訪問真實物件的業務方法。

  --------------------- android培訓java培訓、java學習型技術部落格、期待與您交流! ----------------------