单例模式

记录重点

在程序编写上,一般将单例模式分为两种:
饿汉式:在类加载完成时就完成了初始化,所以类加载比较慢,但获取对象的速度块。
懒汉式:在类加载时不初始化。等到第一次使用时才初始化。

饿汉:

public class Singleton{
	private Singleton(){}
	private final static Singleton INSTANCE = new SingLeton();
	public static Signleton getInstance(){
		return INStANCE;
	}
}

静态内部类(可用,推荐)

public class Singleton {

    private Singleton() {}

    private static final SingletonInstance(){
		private static final Singleton INSTANCE = new Singletion();
	}

	public static Singleton getInstance(){
		return SingletonInstance.INSTANCE ;
	}
}

这是很多开发者推荐的一种写法,这种静态内部类方式在Singleton类被装载时并不会立即实例化,而是在需要实例化时,调用getInstance方法,才会装载SingletonInstance类,从而完成对象的实例化。

同时,因为类的静态属性只会在第一次加载类的时候初始化,也就保证了SingletonInstance中的对象只会被实例化一次,并且这个过程也是线程安全的。

参考链接

感谢:鄙人薛某

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值