我的设计模式-单例(Singleton)

单例模式是最常见的设计模式,比较简单,就是保证在JVM内,一个对象只有一个实例存在。比如:spring bean默认模式就是单例。


一般按照对象实例创建的时机,单例又分为懒汉模式和饿汉模式:

懒汉模式在类加载的时候不创建对象实例,在实际使用中判断对象实例是否存在,如果存在则直接返回;如果不存在,则new出对象实例再返回;

该模式有3个关键点:

1、构造函数私有;

2、静态获取对象实例的方法;

3、保证线程安全的生成对象实例的方法或代码块;

由于在该模式下,类加载时不创建对象实例,故大对象或对象实例太多的场景下可以考虑使用该模式进行处理;


饿汉模式是在类加载的时候就创建了对象实例,在实际使用中直接将类加载时创建的对象实例返回;

该模式下有3个关键点:

1、私有构造函数;

2、静态获取对象实例的方法;

3、初始化对象实例;

由于在该模式下是在类加载的时候就创建了对象实例,写法简单明了,也没有线程问题,所以该模式应用的比较多,特别适合那种对象创建复杂且耗时的场景;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值