java设计模型----------------单列模式

本文深入解析单例模式,包括其概念、实现方式如懒汉式和饿汉式,以及在并发环境下的应用和优化,如双重检查锁定和内部类方式。探讨了单例模式在资源管理和效率提升上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在写这个之前我先申明本文只代表我个人观点。根据以往学习的资料加自己的理解,如有不认可,欢迎更正和补充。

作为很常用的设计模式 单列模式:简单理解就是类的实例永远是同一个。从而达到对资源的合理利用,不浪费,提高效率

以及多线程下安全运行。

                                                             代码上的简单理解就是只会去初始化一次。然后这个对象在以后使用过程中反复被复用。

我们知道创建一个对象一般情况下都是new一个对象。如果我们能保证代码只会new一次,那么我们就可以说这个类是单列的。

代码实现:

分为情况:常见两种情况,并发下情况

并发情况测试类,老测不出来。暂无截图。后期有时间补上。可能是我写的测试类有问题。

1.常见两种情况:懒汉式和饿汉式 挺形象的 我就不自己改名字啦。

懒汉式:之所以叫形容为叫懒汉式,因为它是需要的时候,才去创建

饥饿式:之所以叫形容为叫饿汉式,因为它一开始就创建好了。

SigletonUtil

 

2.并发下类型:就是对常见两种类型的代码进行改造。使它支持并发,并发情况先线程安全。

代码实现:

效率低方式,而且不是绝对安全,只是出现的混乱的情况概率极低而言

 

效率高方式:双重检查模式 (DCL)

推荐方式 内部类方式

容器管理模式:如果项目存在很多单列类,考虑这种。便以管理,内部隐藏,耦合度低等一些好处。但是很少用到。比较以项目单列类不会有很多。具体情况具体考虑。这边只给参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值