zoukankan      html  css  js  c++  java
  • 单例设计模式(详解)

    单例设计模式

    模式:模式就是解决一类问题的固定步骤

    单例设计模式:保证一个类在内存中只有一个对象

    举例:多个浏览器向服务器发送请求,只创建一个servlet对象处理相应的请求,而不是每接收一个请求,就创建一个servlet对象

    1.饿汉单例设计模式

              1.私有化构造函数

              2.声明本类的引用类型变量,并且使用该变量指向本类对象

              3.提供一个公共静态的方法获取本类的对象

    //保证Single在内存中只有一个对象
    public class Single {
        //私有化构造函数
        private Single(){
    
        }
         //声明本类的引用类型变量,并且使用该变量指向本类对象
        private static Single single = new Single();
        //提供一个公共的方法获取本类的对象
        public static Single getInstance(){
            return single;
        }
    }
    
    class Test{
        public static void main(String[] args) {
    
            Single s1 = Single.getInstance();
            Single s2 = Single.getInstance();
            boolean flag = s1.equals(s2);
            System.out.println("是同一个对象吗?"+flag);
        }
    }
    

      

    运行结果:
    
    是同一个对象吗?true
    

      

    2.懒汉单例设计模式

             1.私有化构造函数

             2.声明本类的引用类型变量,但不要创建对象

             3.提供静态公共的方法获取本类的对象,获取之前先判断是否已经创建了本类对象,如果已经创建了,那么直接返回对象即可,如果还没创建,那么先创建本类的对象,然后再返回。

    //保证Single在内存中只有一个对象
    public class Single {
        //私有化构造函数
        private Single(){
    
        }
         //声明本类的引用类型变量,
        private static Single single ;
        //提供一个公共的方法获取本类的对象
        public static Single getInstance(){
            if(single == null){//判断对象是否创建
                single = new Single();
            }
            return single;
        }
    }
    
    class Test{
        public static void main(String[] args) {
    
            Single s1 = Single.getInstance();
            Single s2 = Single.getInstance();
            boolean flag = s1.equals(s2);
            System.out.println("是同一个对象吗?"+flag);
        }
    }
    

      

    运行结果:
    
    是同一个对象吗?true
    

      

  • 相关阅读:
    制作yaffs2文件系统
    nandwrite 参数
    linux并发控制之信号量
    mke2fs 制作ext2文件系统image
    stat文件状态信息结构体
    mount命令详解
    fiddler——http——cookie
    fiddler——http——请求方法、状态码
    http的cookie
    fiddler——http——header首部(请求首部和响应首部)——个人文档整理
  • 原文地址:https://www.cnblogs.com/zyx110/p/10663002.html
Copyright © 2011-2022 走看看