老师,您好。
jdk动态代理中,代理类和和被代理类,是继承关系还是聚合关系啊?
1.假设两个不同第三方jar包的类a和b都实现了同一个接口,现在对a和b使用jdk代理增强会生成几个代理类的Class对象?为什么?
2.接上一个问题,如果使用jdk动态代理时a和b分别指定了不同的类加载器,会生成几个代理类的Class对象?为什么?
3.如果使用jdk动态代理时a和b都没有指定类加载器,会怎样?
4.卸载类加载器时其对应的代理类Class对象是否会被释放回收?
老师能帮忙回答一下,这些问题吗
楼上已具体分析代理的情况,并告诉了你 是聚合关系
静态代理可以使用继承方式实现,也可以使用聚合实现; cglib 实现的动态代理都是使用继承方式实现的,jdk 的动态代理是通过实现接口实现的