Spring横行的今天看似自己写单例的时候不多啊.
偶尔看到一段代码:
public class SigarUtil {
private static Sigar sigar;
public static Sigar getInstance() {
if (null == sigar) {
sigar = new Sigar();
}
return sigar;
}
}
额~~应该是有点问题的,至少线程不安全。看样子单例并不简单。
话不多说,上干货:
public class Singleton {
private static class Holder {
private static Singleton singleton = new Singleton();
}
private Singleton(){}
public static Singleton getSingleton(){
return Holder.singleton;
}
}
再上干货:
public enum Singleton {
INSTANCE;
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}