• 单例/单体模式(Singleton)


    单例/单体模式(Singleton)

    首先,单例模式是对象的创建模式之一,此外还包括工厂模式。

    单例模式的三个特点:

    1,该类只有一个实例

    2,该类自行创建该实例(在该类内部创建自身的实例对象)

    3,向整个系统公开这个实例接口

    Java中大概是这个样子

    class Singleton {
        //私有,静态的类自身实例
        private static Singleton instance = new Singleton();
        //私有的构造子(构造器,构造函数,构造方法)
        private Singleton(){}
        //公开,静态的工厂方法
        public static Singleton getInstance() {
            return instance;
        }
    } 
    

    这个单例类在自身被加载时instance会被实例化,即便加载器是静态的。因此,对于资源密集 ,配置开销较大的单体更合理的做法是将实例化(new)推迟到使用它的时候。即惰性加载(Lazy loading), 它常用于那些必须加载大量数据的单体。修改下

    class LazySingleton {
        //初始为null,暂不实例化
        private static LazySingleton instance = null;
        //私有的构造子(构造器,构造函数,构造方法)
        private LazySingleton(){}
        //公开,静态的工厂方法,需要使用时才去创建该单体
        public static LazySingleton getInstance() {
            if( instance == null ) {
                instance = new LazySingleton();
            }
            return instance;
        }   
    } 
    
  • 相关阅读:
    Java并发初识
    go交叉编译
    MRC与ARC混合开发配置
    Hibernate配置文件
    LEFT JOIN重复数据
    Ext.ViewPort布局
    Hibernate学习映射文件
    AjaxMethod方法
    DataBinder
    subsonic 获取记录数量
  • 原文地址:https://www.cnblogs.com/whsa/p/4315373.html
Copyright © 2020-2023  润新知