singleton, pattern, java
优点: 线程安全, 延时加载
缺点: 需要额外工作实现序列化, 还是可以通过反射创建对象
package singleton.staticclass;
public class Singleton {
private Singleton() {
System.out.println("Constructor Called");
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static final Singleton getInstance() {
System.out.println("Get Instance Called");
return Holder.INSTANCE;
}
}
优点: 线程安全, 支持序列化, 防止反射调用
package singleton.enumclass;
public enum Singleton {
INSTANCE;
private String name;
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
}