单例模式

从字面意思看 就是一个实例/对象
特点:

  1. 单例类只有一个实例对象
  2. 该对象有单例类自行创建
  3. 单例类对外提供一个访问该单例的全局访问点

两种形式
1.懒汉式
通过调用方法生成实例对象

public class LazySingleton
{
	private static volatie LazySingleton instance=null;
	//保证 instance 线程同步
	private LazySingleton(){}
	public static synchronized LazySingleton getInstance()
	{
		if(instance==null)
		{
			instance=new LazySingleton;
		}
		return instance;
	}

}

2.饿汉式

类一旦加载即可生成实例,同时保证对象不会改变,可直接用于多线程

public class  HungrySingleton
{	
  private static final HungrySingleton instance=new HungrySingleton();
  private HungrySingleton(){}
  public static HungrySingleton getInstance()
  {
  	return instance;
  }

}

适用场景:
我认为能用一个实例去简单的完成即可应用

  • 类要求一个实例对象时 eg:某人–
  • 对象频繁创建和销毁 eg:多线程 线程池
  • 对象被共享时 eg:数据库连接池–
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值