Java学习笔记——单例设计模式

本文详细介绍了单例模式的概念及其在Java中的实现,包括饿汉式和懒汉式两种方式。单例模式主要用于确保一个类只有一个实例,以节省资源或协调对象间的交互。饿汉式在类加载时就初始化单例,而懒汉式则在首次调用时才创建单例。这两种方式各有优缺点,适用于不同的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式就是在我们实际编程过程中,逐渐总结出的一些解决问题的套路
单例:只有一个实例(实例化对象)
在整个软件系统运行过程中,这个类只被实例化一次,以后不管在哪里只调用这一个实例
例如实例化对象的创建要消耗大量的时间和资源
使用单例模式解决什么问题? 一般都是new对象太费劲,或者频繁的new对象没必要

饿汉式的单例:先new一个对象 谁用的时候就直接调用

public class Single {
	
	//私有的构造,调用这个类的人就不能通过new来创建对象了
	private Single(){
		
	}
	
	//私有的Single类型的类变量
	private static Single single=new Single();
	
	public static Single getInstance(){
		
		return single;
	}

}
	Single s1=Single.getInstance();
	Single s2=Single.getInstance();
	Single s3=Single.getInstance();
	Single s4=Single.getInstance();
	Single s5=Single.getInstance();

不管用多少次都是调用的同一个new Single()对象

懒汉式单例模式:最开始对象时null,直到有第一个人调用我才new一个对象,之后所有调用我的都用到这个对象

public class Single1 {
	//先私有化构造方法,让外面不能直接new对象
	private Single1(){
		
	}
	
	private static Single1 s1=null;
	public static Single1 getInstance(){
		if(s1==null){
			s1=new Single1();
		}
		return s1;
	}

}
	Single1 s1=Single1.getInstance();
	Single1 s2=Single1.getInstance();
	Single1 s3=Single1.getInstance();
	Single1 s4=Single1.getInstance();

第一次调用的时候new Single1()对象,以后每次调用都调用第一次的new Single对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值