zoukankan      html  css  js  c++  java
  • 单例设计模式 Single

    一些人总结出来用来解决特定问题的固定的解决方案。

      解决一个类在内存中只存在一个对象,想要保证对象的唯一。

        1 为了避免其他程序过多的建立该类对象。禁止其他程序建立该类对象。

        2 为了其他程序可以访问该类对象,在本类中自定义一个对象。

        3 方便其他程序对自定义类的对象的访问,对外提供一些访问方式。

     代码:

        1将构造函数私有化

        2在类中创建一个私有的本类对象

        3提供一个用类名调用的公有方法获取该对象。

      懒汉模式 – 通常被称为延迟加载。注意存在线程安全问题.

    懒汉式的单例模式线程安全问题的解决方案:

        class Single{
        
        //声明本类的一个私有的成员变量
        private static Single single;
        
        //第一步 : 私有化构造方法
        private Single(){
            
        }
         //  第三步:提供一个公共的方法获取该类的实例对象
        public static Single getInstance(){
            if(single==null){
            synchronized (single) {            
                    if(single==null){
                         single = new Single();
                    }
                }
            }
            return single;
        }
    }

    饿汉模式

    class Single {
    
        private static Single s = new Single(); // 恶汉式
    
        private Single() {
    
        }
    
        public static Single getInstance() {
            return s;
        }
    }
  • 相关阅读:
    (转)描述线程与进程的区别?
    Python学习笔记:ceil、floor、round、int取整
    Python学习笔记:SQL中group_concat分组合并操作实现
    Python学习笔记:pd.rank排序
    函数声明
    Dictionary 介绍
    Tuple介绍
    List介绍
    DataGridView 如何退出 编辑状态
    C#实现打印与打印预览功能
  • 原文地址:https://www.cnblogs.com/loveincode/p/5342836.html
Copyright © 2011-2022 走看看