美文网首页
单例模式

单例模式

作者: c_gentle | 来源:发表于2022-02-13 21:54 被阅读0次

    singleton模式

    单例模式,在系统里,你要判断一下,如果有一些类,只需要一个实例对象就可以了,那就给那个类做成单例的模式

    常见的场景
    (1)比如说,你自定义了一个框架,自定义了一份xml格式的一个配置文件,你要读取这个配置文件,这个配置文件中的数据,读取到类中,这个类的实例,只要保存一份就可以。那么此时可以使用单例模式,将这个类做成他的实例只能有一个,在这个实例中保存了配置文件中的数据
    (2)类似于我们之前给大家讲解的那个工厂模式,有些工厂是需要实例化对象的,要基于实例化对象,来实现继承、接口、实现等功能,工厂实例可以做成单例的,就可以了
    (3)你自己去判断,如果是一个类的实例只需要保持一份,那就做成单例
    饿汉式:

    //饿汉
    public class Singleton {
    
        private static final Singleton instance =new Singleton();
    
        private Singleton() {
        }
        public static Singleton getInstance(){
            return instance;
        }
    }
    
    //懒汉式
    //懒汉式 双重检查 线程安全
    public class LazySingleton {
        private static LazySingleton lazySingleton;
    
        public static LazySingleton getInstance() {
            if (lazySingleton == null) {
                synchronized (LazySingleton.class) {
                    if (lazySingleton == null) {
                        lazySingleton = new LazySingleton();
                    }
                }
            }
            return lazySingleton;
        }
    
    }
    

    相关文章

      网友评论

          本文标题:单例模式

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