jdk动态代理的问题

来源:3-3 动态代理实现添加 InvocationHandler

雷钊

2016-07-17 16:36

老师,您好。

jdk动态代理中,代理类和和被代理类,是继承关系还是聚合关系啊?

写回答 关注

3回答

  • 慕少8307396
    2020-03-04 16:18:38

    1.假设两个不同第三方jar包的类a和b都实现了同一个接口,现在对a和b使用jdk代理增强会生成几个代理类的Class对象?为什么?

    2.接上一个问题,如果使用jdk动态代理时a和b分别指定了不同的类加载器,会生成几个代理类的Class对象?为什么?

    3.如果使用jdk动态代理时a和b都没有指定类加载器,会怎样?

    4.卸载类加载器时其对应的代理类Class对象是否会被释放回收?

    老师能帮忙回答一下,这些问题吗


  • 莱恩的小把戏
    2017-07-13 11:08:09

    楼上已具体分析代理的情况,并告诉了你 是聚合关系

  • 慕粉3382176
    2016-07-18 23:47:12

    静态代理可以使用继承方式实现,也可以使用聚合实现; cglib 实现的动态代理都是使用继承方式实现的,jdk 的动态代理是通过实现接口实现的

模式的秘密---代理模式

本节课程将带你领略Java编程语言中代理模式的奥妙

54906 学习 · 125 问题

查看课程

相似问题