饿汉式
public class Signal {
private static Signal instance = new Signal();
private Signal(){}
public static Signal getInstance() {
return instance;
}
}
懒汉式
public class Signal {
private static Signal instance;
private Signal(){}
public static Signal getInstance() {
if(instance == null){
synchronized (Signal.class) {
if(instance == null){
instance = new Signal();
}
}
}
return instance;
}
}
静态内部类单例模式
public class Signal {
private Signal(){}
public static Signal getInstance() {
return SignalHolder.instance;
}
private static class SignalHolder {
private static final Signal instance = new Signal();
}
}