什么是单例模式?有几种?Java面试题常问

什么是单例模式?有几种?

单例模式:某个类的实例在多线程环境下只会被创建一次出来。单例模式有饿汉式单例模式、懒汉式单例模式和双检锁单例模式三种。

饿汉式:线程安全,一开始就初始化。

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;
	}
}

猜你喜欢:

单例中懒汉和恶汉模式的区别

单例模式教程:单例模式的几种实现方式

什么是Mybatis?Mybaits有哪些优点?

Java JDK是什么?JDK安装目录介绍

传智教育课程

课程获取【Java视频教程+资料】加播妞1605146928606_课程资料.jpg:435946716。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/253848.html

(0)
上一篇 2022年5月9日
下一篇 2022年5月9日

相关推荐

发表回复

登录后才能评论