单例模式的三种写法:
1、懒汉式
2、饿汉式
3、新颖的写法
1、懒汉式
public class Singleton {
private Singleton() {}
private static Singleton instance;
public static synchronized getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
2、饿汉式
public class Singleton {
private Singleton() {}
private static Singleton instance = new Singleton();
public static getInstance() {
return instance;
}
}
3、新颖的写法
public class Singleton {
static class SingletonHolder {
static Singleton instance = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.instance;
}
}