• 单例模式


    单例类只能有一个实例,并且单例类必须自己创建自己的唯一实例,单例类必须给所有其他对象提供这一实例。

    除了供其他对象获取本单例类对象的方法是public的,其他属性或方法全为private,尤其是构造方法也是private,防止被其他类进行new从而创建不止一个实例。

    懒汉式:在提供给外界调用以获得唯一实例的方法中写new

    private static MySingleton mySingleton = null;

    public static MySingleton getInstance(){  

                if(mySingleton == null){  

                        mySingleton = new MySingleton();  

                } 

           return mySingleton;  

       }  

    饿汉式:直接给静态变量赋值时new,类加载时便创建唯一的实例

    private static MySingleton2 mySingleton = new MySingleton2();

    public static MySingleton2 getInstance(){  

        return mySingleton;  

     }  

    登记式:

    登记式单例模式是在原来的基础上进行数量上的扩展,对多个单例进行管理,把每次创建的单例登记到map中。

    调用时先判断该单例是否已经创建,是的话返回该单例,否则创建并登记到map中再返回。

    新生的小心情
  • 相关阅读:
    Markdown学习
    二叉树的最近公共祖先
    javaCompiler简析
    自定义类加载器
    聚合和组合的区别
    拓扑排序
    C++ map和unordered_map
    静态文件加载路径
    文件上传
    jackson
  • 原文地址:https://www.cnblogs.com/jianmianruxin/p/7436548.html
Copyright © 2020-2023  润新知