您好,登錄后才能下訂單哦!
今天小編給大家分享的是JDK動態代理和CGLIB有什么區別,相信很多人都不太了解,為了讓大家更加了解JDK動態代理和CGLIB的區別,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。
JDK動態代理和CGLIB區別
1、JDK動態代理:
利用攔截器(攔截器必須實現InvocationHanlder)加上反射機制生成一個實現代理接口的匿名類,
在調用具體方法前調用InvokeHandler來處理。
()
2、CGLiB動態代理:
利用ASM開源包,對代理對象類的class文件加載進來,通過修改其字節碼生成子類來處理。
3、JDK動態代理和CGLIB字節碼生成的區別?
1、JDK動態代理只能對實現了接口的類生成代理,而不能針對類。
2、CGLIB是針對類實現代理,主要是對指定的類生成一個子類,覆蓋其中的方法,并覆蓋其中方法實現增強,但是因為采用的是繼承,所以該類或方法最好不要聲明成final,對于final類或方法,是無法繼承的。
關于JDK動態代理和CGLIB有什么區別就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。