设计模式之-----------单例设计模式

本文深入探讨了单例模式的两种常见实现方式——饿汉式和懒汉式。从概念出发,阐述了它们各自的特点、优缺点以及在不同场景下的适用情况。通过具体的代码示例,展示了如何实现这两种模式,并对比了它们在并发环境下的表现,旨在帮助开发者更好地理解和选择适合自己的单例模式实现。
摘要由CSDN通过智能技术生成
饿汉式:
class Single
{
//   提前做好!
      private static final Single s = new Single();
//  私有化 构造函数  无法使用new 创建对象!
     private Single(){}
//  对外提供接口
     public static Single getInstance()
     {
          return s;
     }

}



懒汉式:
      懒汉 顾名思义  就是懒呗 
          什么时候用到 什么时候创建!

class Single1 
{
      private static final Single1 s = null;

     private Single1(){}

     public static Single1 getInstance()
     {
          //  什么时候调用 是什么时候 赋值   懒汉式
           if(a==null)
          //   此处 线程不安全!(不建议使用,尽量使用 饿汉式!)
               s = new Single1();     
          return s;
          
     }

}

 
更新:  带有同步所的 懒汉式
/** Returns singleton class instance */
	public static ImageLoader getInstance() {
		if (instance == null) {
			synchronized (ImageLoader.class) {
				if (instance == null) {
					instance = new ImageLoader();
				}
			}
		}
		return instance;
	}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值