Java单例模式
- 懒汉式
public class Singleton {
private static Singleton instance = null;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
2.饿汉式
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance= new Singleton();
}
return instance;
}
}
3.双重检查
public class Singleton {
// volatile防止指令重排
private volatile static Singleton instance = null;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized(Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
本文详细介绍了Java中三种实现单例模式的方法:懒汉式、饿汉式及双重检查锁定方式。通过具体代码示例展示了每种方法的特点与应用场景。

1044

被折叠的 条评论
为什么被折叠?



