![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
熊猫-IT
V :it-xiongmao,源码获取,学习交流,技术支持!
展开
-
Jdk代理和CGLIB代理的区别
1.原理区别java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。核心是实现InvocationHandler接口,使用invoke()方法进行面向切面的处理,调用相应的通知。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。核心是实现MethodInterceptor接口,使用intercept()方法进行面向切面的处理,调用相应的通知。如果目标对象实现了接口,默认情况下会采用原创 2020-12-09 12:42:34 · 2785 阅读 · 0 评论 -
单例模式的问题
静态内部类public class Singleton { private static class SingletonHolder { private static Singleton instance = new Singleton(); } private Singleton() { } public static Singleton getInstance() { return SingletonHol原创 2020-09-29 13:04:01 · 183 阅读 · 0 评论 -
Java代理设计模式-Proxy
代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。为什么要采用这种间接的形式来调用对象呢?一般是因为客户端不想直接访问实际的对象,或者访问实际的对象存在困难,因此通过一个代理对象来完成间接的访问。从UML图中,可以看出代理类与真正实现的类都是继承了抽象的主题类,这样的好处在于代理类可以与实际的类有相同的方法,可以保证客户端使用的透明性。1.静态代理 第一步:创建 UserService 接口public interfa原创 2020-08-31 16:28:36 · 156 阅读 · 0 评论