单例模式的五种实现方式

本文探讨了设计模式中的单例模式,旨在确保类只有一个实例,并提供全局访问点。内容涵盖饿汉式、懒汉式、Double Check Lock(DCL)以及静态内部类四种实现方式,特别强调了DCL在保证线程安全的同时延迟初始化的重要性。
摘要由CSDN通过智能技术生成

      单例模式可以说是23中设计模式中应用最广的一种模式了。 

      定义:确保某一个类只有一个实例,自行实例化并且想整个系统提供这个实例。

      使用场景:避免某个类产生多个对象而消耗过多的资源,确保某个类在程序中只有一个实例。比如我们使用的图片加载器ImageLoader。往往单例创建的对象,耗费的资源都比较多,所以在初始化单例对象的时候就显得尤为重要了,接下来,我们就来聊一聊单例的几种实现方式。

一、饿汉式

public class ImageLoader{

     private static ImageLoader instance = new ImageLoader;
     private ImageLoader(){}
     public static ImageLoader getInstance(){ 
       return instance; 
  }
}

 
 饿汉式顾名思义,就是这个汉子很饿,一上来就把单例对象创建出来了,要用的时候直接返回即可,这种可以说是单例模式中最简单的一种实现方式。但是问题也比较明显。单例在还没有使用到的时候,初始化就已经完成了。也就是说,如果程序从头到位都没用使用这个单例的话,单例的对象还是会创建。这就造成了不必要的资源浪费。所以不推荐这种实现方式。 

</

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值