不啰嗦,因为太简单,直接上代码
//枚举式单例模式
public enum SingleMode {
INSTANCE;
}
使用时:
//枚举式单例模式
SingleMode singleMode = SingleMode.INSTANCE;
原来的饿汉:
public class SingleMode {
private static SingleMode INSTANCE = new SingleMode();
private SingleMode() {}
public static SingleMode getInstance() {
return INSTANCE;
}
}
原来的懒汉:
public class SingleMode {
//private static SingleMode INSTANCE;
//加上 volatile 关键字,更安全
private static volatile SingleMode INSTANCE;
private SingleMode() {
}
public static SingleMode getInstance() {
if (INSTANCE == null) {
synchronized (SingleMode.class) {
if (INSTANCE == null)
INSTANCE = new SingleMode();
}
}
return INSTANCE;
}
}
网友评论