单例模式的实现有以下几种:
1.饿汉模式(线程安全,浪费资源),直接实例化,不是延迟加载
private static Singleton uniqueInstance = new Singleton();
2.懒汉模式(线程不安全)延迟加载,节约资源;但是多线程的情况下,没办法确保单例。
线程安全模式,双重校验锁先判断 uniqueInstance 是否已经被实例化,如果没有被实例化,那么才对实例化语句进行加锁。
3.静态内部类,运用java加载机制,类加载的时候不会被加载,单调方法是才会被加载。缺点:会被反射破坏
4.枚举实现
5.序列化://序列化反序列化协议 private Object readResolve() { return INSTANCE; }
6.注册式单例: