美文网首页
单例模式

单例模式

作者: SunnyGL | 来源:发表于2019-03-27 09:21 被阅读0次

    其他各种单例模式的写法以及优缺点我这里就不多赘述了,只列举本人常用的两种。追求简单就用第一种,追求性能就用第二种。

    一、饿汉式(静态常量)

    类加载时创建对象,无线程同步问题

    public class Singleton {
    
        private final static Singleton INSTANCE = new Singleton();
    
        private Singleton(){}
    
        public static Singleton getInstance(){
            return INSTANCE;
        }
    }
    

    二、懒汉式(双重检查)

    双重检查,防止内存浪费,无线程同步问题,效率较高

    public class Singleton {
    
        private static volatile Singleton singleton;
    
        private Singleton() {}
    
        public static Singleton getInstance() {
            if (singleton == null) {
                synchronized (Singleton.class) {
                    if (singleton == null) {
                        singleton = new Singleton();
                    }
                }
            }
            return singleton;
        }
    }
    

    相关文章

      网友评论

          本文标题:单例模式

          本文链接:https://www.haomeiwen.com/subject/sejavqtx.html