最主要的区别: 1.JDK是采用读取接口的信息 2.CGLib覆盖父类方法 3.JDK Proxy 对于用户而言,必须要有一个接口实现,目标类相对来说复杂 4.CGLib 可以代理任意一个普通的类,没有任何要求 5.CGLib 生成代理逻辑更复杂,效率,调用效率更高,生成一个包含了所有的逻辑的FastClass,不再需要反射调用 6.JDK Proxy生成代理的逻辑简单,执行效率相对要低,每次都要反射动态调用 共同的目的:都是生成一个新的类,去实现增强代码逻辑的功能 CGLib 有个坑,CGLib不能代理final的方法
CGLib与JDK实现动态代理的区别
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java中枚举类的使用
枚舉:一些方法在運行時,它需要的數據不能是任意的,而必須是一定範圍內的值,可以直接使用枚舉予以解決。 枚舉類的定義格式: enum 類名{//枚舉值
moon-start
2020-07-05 11:10:13
springboot配置redis缓存
勇智
2020-07-03 00:28:16
剖析fail-fast机制和ConcurrentModificationException
淹不死的水
2020-06-30 06:39:38
java 日期格式转化遇到的坑
Patrick Jia ~~
2020-06-29 11:48:27
Arthas--深入排查java进程消耗CPU或内存过高问题
Patrick Jia ~~
2020-06-29 11:07:04
javaSE基础-移位运算
achieve-mr.j
2020-06-25 04:53:28
多线程里注入service的方法
achieve-mr.j
2020-06-25 04:53:16
模拟tcp服务
m0_38044453
2020-06-23 19:49:53
[java]枚举学习
測試代碼 [java] view plain copy print?package com.lxk.enumTest; /**
AI蒸汽人
2020-06-22 09:24:14
【java】 HashMap与ConcurrentHashMap的区别
AI蒸汽人
2020-06-22 09:24:14
list查询和iterator查询的区别
文森特wst
2020-06-21 01:54:24
list stream按照对象多个属性进行排序
JavaGirl_亚兰
2020-06-19 19:15:15
list.stream.map的使用
JavaGirl_亚兰
2020-06-19 18:09:47