单例模式—饿汉式
public class SingletonHungry {
private static final SingletonHungry singleton=new SingletonHungry();
private SingletonHungry() {
}
public static SingletonHungry getInstance() {
return singleton;
}
}
单例模式—懒汉式
public class SingletonLazy {
private SingletonLazy() {
}
public static SingletonLazy singleton=null;
public static SingletonLazy getInstance() {
if(singleton == null) {
synchronized (SingletonLazy.class) {
if (singleton == null) {
singleton=new SingletonLazy();
}
}
}
return singleton;
}
}
单例模式—静态内部类
public class SingletonStaticInner {
private SingletonStaticInner() {
}
private static class StaticInner {
static SingletonStaticInner singleton=new SingletonStaticInner();
}
public static SingletonStaticInner getInstance() {
return StaticInner.singleton;
}
}