中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
徹底搞清 反射、靜態(tài)代理、動態(tài)代理
首先,說下應(yīng)用場景

1.反射:主要跟類信息Class息息相關(guān),即,只有在運(yùn)行時(shí),才能知道需要調(diào)用哪個(gè)(子)類或者調(diào)用哪個(gè)(子)類的哪個(gè)方法。如果事先就知道的話,那我們絕對不用反射,為什么不事先生成好對象,才不要每運(yùn)行一次都生產(chǎn)一次對象,簡直是恐怖。

2.靜態(tài)代理:內(nèi)部其實(shí)沒有反射,是傳進(jìn)來被代理對象,然后在執(zhí)行被代理對象的具體方法前后織入一些代理操作,所以靜態(tài)代理的代理對象ProxyObj與被代理對象RealObj是需要實(shí)現(xiàn)共同的接口的。

3.動態(tài)代理:在基于靜態(tài)代理的基礎(chǔ)上,考慮到在某些應(yīng)用場景下,靜態(tài)代理對象ProxyObj其實(shí)是重復(fù)無意義的工作,比如我調(diào)RealObj所有的方法都是前打一行公共log,如果打印不同log用靜態(tài)代理再適合不過,但是如果是做相同的事情,那這個(gè)ProxyObj里面就是重復(fù)無意義的操作了,所以動態(tài)代理就可以解決這個(gè)應(yīng)用場景,動態(tài)代理類不再顯性得定義,而是再運(yùn)行時(shí),通過反射動態(tài)生成,并且是根據(jù)傳入進(jìn)來得RealObj來對應(yīng)生成一個(gè)代理對象,同時(shí)在每個(gè)方法中織入公共的代理操作。 其實(shí)我更愿意叫這個(gè)代理對象為被代理對象RealObj的變種,因?yàn)槲覜]有實(shí)際定義一個(gè)代理對象,更不知道他內(nèi)部有什么方法,我在調(diào)用它的方法的時(shí)候其實(shí)想的是RealObj內(nèi)部的方法,所以我更愿意叫它被代理對象RealObj的變種,而不是代理對象。

所以,綜上,究竟什么時(shí)候用靜態(tài)代理,什么時(shí)候用動態(tài)代理,什么時(shí)候用反射就很清楚了。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【日記】54若是你的右眼叫你跌倒,就剜出來丟掉
Java反射與代理
動態(tài)ip和靜態(tài)ip對運(yùn)用的場景有要求嗎
靜態(tài)代理與動態(tài)代理、CGLIB
JDK動態(tài)代理的底層實(shí)現(xiàn)原理
Java 動態(tài)代理機(jī)制分析及擴(kuò)展
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服