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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实现的代理的两种办法

發布時間:2024/4/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现的代理的两种办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代理的名詞

代理對象 增強后的對象

目標對象 被增強的對象

他們不是絕對的,會根據情況發生變化

?

靜態代理

繼承

代理對象繼承目標對象,重寫需要增強的方法;

缺點:會代理類過多,非常復雜

聚合

目標對象和代理對象實現同一個接口,代理對象當中要包含目標對象。

缺點:也會產生類爆炸,只不過比繼承少一點點

總結:如果在不確定的情況下,盡量不要去使用靜態代理。因為一旦你寫代碼,就會產生類,一旦產生類就爆炸。

動態代理

自己模擬的動態代理

不需要手動創建類文件(因為一旦手動創建類文件,就會產生類爆炸),通過接口反射生成一個類文件,然后調用第三方的編譯技術,動態編譯這個產生的類文件成class文件,繼而利用UrlclassLoader(因為這個動態產生的class不在工程當中所以需要使用UrlclassLoader)把這個動態編譯的類加載到jvm當中,最后通過反射把這個類實例化。

缺點:首先要生成文件

缺點:動態編譯文件 class

缺點:需要一個URLclassloader

軟件性能的最終體現在IO操作

JDK動態代理

通過接口反射得到字節碼,然后把字節碼轉成class native openJDK c++

?

總結

以上是生活随笔為你收集整理的java实现的代理的两种办法的全部內容,希望文章能夠幫你解決所遇到的問題。

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