什么是单例模式?有几种?
单例模式:某个类的实例在多线程环境下只会被创建一次出来。单例模式有饿汉式单例模式、懒汉式单例模式和双检锁单例模式三种。
饿汉式:线程安全,一开始就初始化。
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视频教程+资料】加播妞
:435946716。
-
Java教程
-
Java教程
-
Java教程
-
Java教程
-
Java教程
-
Java教程
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/253848.html