java单例模式

Java单例模式

单例模式:指一个类只能生成一个对象。

  • 懒汉式和饿汉式
    1)构造方法私有化
    2)提供一个公开的静态方法来返回当前对象
    3)提供一个私有的静态变量来储存当前对象
  • 代码块

懒汉式

public class Slacker {
	public static Slacker s;
	
	
	private Slacker(){
		
	}
	
	public Slacker getSlacker(){
		if(s==null){
			s = new Slacker();
		}
		return this.s;
	}
}

饿汉式

public class HungryMan {
	public static HungryMan hm = new HungryMan();
	
	private HungryMan(){
		
	}
	
	public static HungryMan getHungryMan(){
		return hm;
	}
}

  • 懒汉式饿汉式比较
    懒汉式懒汉式都将本身设置为自己的static属性,在引进方法区时会自动加载运行。
    懒汉式并未直接创建对象而是对已有属性进行判断若无值则创建对象A这时堆内存才会为对象A分配空间。
    饿汉式则是直接创建对象并赋值给属性,在加载进方法区时,堆内存就会分配给它空间。
    懒汉式是在使用时才会占用空间,饿汉式则是加载时便会占用空间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值