懒汉式
public class Singleton {
private static Singleton instance;
private Singleton() {
}
/**
* Returns singleton class instance
*/
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
饿汉式就不写了 ,so easy.
枚举单例
enum SingleTon{
INSTANCE;
}
优点:
1.枚举单例模式代码简洁
2.枚举单例是线程安全的
缺点:
1.不能继承其他类,
2.开销比简单的class大.