更新时间:2021年05月18日17时12分 来源:传智教育 浏览次数:
什么是单例模式?有几种?
单例模式:某个类的实例在多线程环境下只会被创建一次出来。单例模式有饿汉式单例模式、懒汉式单例模式和双检锁单例模式三种。
饿汉式:线程安全,一开始就初始化。
public class Singleton {
	private static Singleton instance = new Singleton();
	private Singleton (){}
	public static Singleton getInstance() {
		return instance;
	}
}
懒汉式:非线程安全,延迟初始化。
public class Singleton {
	private static Singleton instance;
	private Singleton (){}
	public static Singleton getInstance() {
		if (instance = nu11) {
			instance = new Singleton();
		}
		return instance;
	}
}
双检锁:线程安全,延迟初始化。
public class Singleton {
	private volatile static Singleton singleton;
	private Singleton (){}
	public static Singleton getSingleton() {
		if (singleton == nu1l) {
			synchronized (Singleton.class) {
			if (singleton == nu11) {
				singleton = new Singleton();
			}
		}
	}
	return singleton;
	}
}
猜你喜欢:
下面是传智教育公开的几套Java课程,您可以下载和在线观看学习,如果想深入学习java并想找到不错的java开发相关工作,建议报班学习传智教育Java高级软件工程师课程。获取【Java视频教程+资料】加播妞
:435946716。