单例模式:饿汉式,懒汉式

什么叫单例模式?

单例模式涉及到一个单一的类,该类负责创建自己的对象,并且确保只有单个对象被创建,这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该对象。

单例模式分类为两种:

饿汉式:类加载就会导致该实例对象被创建。

懒汉式:类加载不会导致实例对象的创建,首次使用时才会创建

饿汉式:

 

懒汉式:

 上面这种方式在多个线程并行时,可能会创建出多个对象,例如:线程1进入执行到if(intance = null)还没有return时,线程2也执行到这一步,这个时间由于线程1并没有return,所以此时intance还是null,那么线程2也会创建一个对象。

解决方法:在public static 后加上同步关键字(synchronized),代码如下:

双重检查锁模式

我们还可以对上述项目进行优化,那就是双重检查锁模式。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值