设计模式----单例模式

单例模式的实现有以下几种:

1.饿汉模式(线程安全,浪费资源),直接实例化,不是延迟加载

private static Singleton uniqueInstance = new Singleton();

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

 


6.注册式单例:

 

posted @ 2019-08-15 17:00  wakakaCode  阅读(105)  评论(0编辑  收藏  举报