![](https://img-blog.csdnimg.cn/20201026134700149.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 69
设计模式!!!!!!
Pinker_Q
这个作者很懒,什么都没留下…
展开
-
readResolve()原理
从序列化中恢复一个单例对象会破坏单例模式,解决方法是添加readResolve() :原理:反序列化时,首先获取序列化的类 : desc( 可理解为单例类的class类,但它和JVM加载到内存中的单例class类有不同)因为如果desc就是我们的单例class类,那是不允许再实例化的。而desc类却可以实例化。判断对象是否能实例化。可以则进行实例化,至此单例类进行了第一次实例化,对象名为obj(通过反射,并调用无参或者父类的无参构造函数生成的类)第一次实例化完成后,通过反射寻找该单例类中的read原创 2021-04-18 12:06:56 · 2524 阅读 · 1 评论 -
单例模式(四种)与其破坏方式(三种)
单例模式单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。单例模式的类型单例模式有两种类型:懒汉式:在真正需要使用对象时才去创建该单例类对象饿汉式:在类加载时已经创建好该单例对象,等待被程序使用饿汉式:线程安全不能实现延迟加载(浪费空间)public class Singleton { private stat原创 2021-04-13 21:58:59 · 1025 阅读 · 0 评论 -
代理模式(静态代理/动态代理)
文章目录代理模式静态代理动态代理在了解静态代理和动态代理前,请先了解代理类Proxy–代理类Proxy 代理模式为其他对象提供一个代理以控制对某个对象的访问。代理类不现实具体服务,而是利用委托类来完成服务,并将执行结果封装处理。其实就是代理类为被代理类预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理。 静态代理创建一个接口,然后创建被代理类实现该接口并且实现该接口中的抽象方法。之后再创建一个代理类,同时使其也实现这个接口。在代理类中持有一个被原创 2020-10-10 21:12:03 · 190 阅读 · 0 评论