Java基础知识---单例设计模式

单例设计模式确保一个类只有一个实例,并提供全局访问点。本文介绍了单例的饿汉式和懒汉式实现,强调了静态内部类实现的优势,如延迟加载和线程安全。此外,还讨论了Spring框架中Bean的默认单例行为以及单例模式在多例设计模式中的地位。
摘要由CSDN通过智能技术生成

单例设计模式

所谓单例设计模式就是:一个类只允许产生一个实例化对象。我们都知道,每new一次就会产生一个对象,既然只允许产生一个对象,那么就意味着不允许外部进行new即实例化,故可以将构造器权限设定为private,外部就无法访问了。

常见的单例模式有两种,即饿汉式懒汉式

  1. 饿汉式:

何为饿?饿者,饥不择食;但凡有食,必急食之。此处同义:在加载类的时候就会创建类的单例,并保存在类中

class HungrySingleton{
	//此处定义类引用常量并直接实例化,在类加载的时候就完成了实例化并保存在类中
	private static final HungrySingleton INSTANCE = new HungrySingleton();
	//定义无参构造器,用于单例实例,因为要在类加载的时候实例化,故必须要有无参构造
	private HungrySingleton() {
		
	}
	//定义公开方法,返回已创建的单例
	public static HungrySingleton getInstance() {
		return INSTANCE;
	}
}
  1. 懒汉式:

何为懒?顾名思义,就是不做事,这里也是同义,懒汉式就是不在系统加载时就创建类的单例,而是在第一次使用实例的时候再创建

class LazySingleton{
	/*定义一个私有类变量来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值