参考答案
一、代理模式的分类
- 静态代理(静态定义代理类);
- 动态代理(动态生成代理类,也称为JDK自带动态代理);
- CGLIB 、javaassist(字节码操作库)。
二、3种代理模式的区别
- 静态代理:简单代理模式,是动态代理的理论基础。常见使用在代理模式。
- JDK动态代理:使用反射完成代理。需要有顶层接口才能使用,常见是Mybatis的mapper文件是代理。
- CGLIB 动态代理:也是使用反射完成代理,可以直接代理类(jdk动态代理不行),使用字节码技术,不能对 final类进行继承。(需要导入jar包)
以上,是Java面试题【代理模式有哪些分类,分类之间的区别是什么】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—