转自:
这种佛系的方式讲解单例模式你见过吗? - 皮皮的小猪仔的文章 - 知乎https://zhuanlan.zhihu.com/p/112718209
1、饿汉式(静态常量,Runtime类的实现方法)
2、饿汉式(静态代码块,与1优缺点完全相同)
3、懒汉式(线程不安全,不推荐使用)
4、懒汉式(线程安全、同步方法,不推荐使用)
5、懒汉式(线程安全、同步代码块,不推荐使用)
6、懒汉式(双重检查)
7、内部静态类
class Singleton{
private Singleton(){}
private static class SingletonInstance{
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance(){
return SingletonInstance.INSTANCE();
}
}
8、枚举
public enum SingletonEnum{
instance;
public void method(){}
}
//使用
Singleton instance = Singleton.INSTANCE;