jdk动态代理与cglib优势劣势以及jdk动态代理为什么要interface (二)自研细节

1

 java 的三种代理模式 (二)——子函数切面

cglib支持非private子函数切面,jdk动态代理不支持

 

2

java 的三种代理模式 (二)——子函数切面 

cglib与jdk对未覆盖Object类的方法,缺省情况下切的不一样

可以被切的隐藏方法(在java object常用方法罗列的方法),即时origin不改写这些方法,框架也会加上

object:clone finalize equals toString hashCode getClass wait notify notifyAll

jdk: equals toString hashcode

cglib:clone finalize equals toString hashCode

 

3

jdk 接口 public

cglib public and protected  java 的三种代理模式 (二)——子函数切面

 

4 注解继承

jdk 跟着接口 myorm【重点】 $$28

cglib 生成子类时,不为原方法保留注解,但是传入invoke的Method为原方法非代理类方法 当动态代理遇到ioc (二)cglib,可以从这个Method对象获取注解

 

5 包冲突

当动态代理遇到ioc (二)cglib cglib容易包冲突不可控

jdk 动态代理不需要引入额外的包

posted on 2020-10-07 17:45  silyvin  阅读(254)  评论(0编辑  收藏  举报