![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
设计模式的总结与学习
积极向上的zzz
这个作者很懒,什么都没留下…
展开
-
单例模式详解
在真正执行时,虚拟机为了效率可能会发生指令重排比如①③②,如果线程1执行完①③还没有执行②,此时线程2获取对象会获取到没有初始化的对象,会造成线程不安全的情况。上面这种模式会出现线程安全的问题:一般会在getInstance()加上synchronized确保线程安全,但是每次获取对象都要先获取锁,并发性能差。对于某些庞大的类,频繁的创建销毁对象会耗费大量资源,并且这些对象是可以复用的。但是上述代码存在线程安全问题,为了保证线程安全,进入代码块后再次进行判空操作,即。上面的代码仍然会发生指令重排的问题。原创 2024-08-06 18:14:12 · 518 阅读 · 0 评论 -
设计模式之代理模式
注意点:1)代理类和被代理类都要实现同一个接口(目的:使用代理对象来控制对被代理对象的访问。作用:可以在不修改原对象的情况下扩展其功能。原创 2023-12-15 15:03:28 · 30 阅读 · 0 评论