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

     
     /**
      * @param args
      * * 单例设计模式:保证类在内存中只有一个对象。
      */
      Singleton s1 = Singleton.s;    //成员变量被私有,不能通过类名.调用
     
      Singleton s2 = Singleton.s;
      
      System.out.println(s1 == s2);
      
      Singleton s2 = Singleton.getInstance();
      
      System.out.println(s1 == s2);
     }
    }
    /*
     * 饿汉式
     
    class Singleton {
     //1,私有构造方法,其他类不能访问该构造方法了
     private Singleton(){}
     //2,创建本类对象
     private static Singleton s = new Singleton();
     //3,对外提供公共的访问方法
     public static Singleton getInstance() {    //获取实例
      return s;
     }
    }*/
    /*
     * 懒汉式,单例的延迟加载模式
     */
    /*class Singleton {
     //1,私有构造方法,其他类不能访问该构造方法了
     private Singleton(){}
     //2,声明一个引用
     private static Singleton s ;
     //3,对外提供公共的访问方法
     public static Singleton getInstance() {    //获取实例
      if(s == null) {
       //线程1等待,线程2等待
       s = new Singleton();
      }
      
      return s;
     }
    }*/
    /*
     * 饿汉式和懒汉式的区别
     * 1,饿汉式是空间换时间,懒汉式是时间换空间
     * 2,在多线程访问时,饿汉式不会创建多个对象,而懒汉式有可能会创建多个对象
     */
    class Singleton {
     //1,私有构造方法,其他类不能访问该构造方法了
     private Singleton(){}
     //2,声明一个引用
     public static final Singleton s = new Singleton();
     
    }
  • 相关阅读:
    MapInfo 文件解析
    XML 序列化与反序列化
    GPS定位RTK解决方案
    JS遍历OCX方法
    Oracle 11g的日志路径
    临时表空间
    Oracle Stream 同步数据
    通过merge语句完成表数据同步
    处理机调度
    特征选取方法PCA与LDA
  • 原文地址:https://www.cnblogs.com/wuxu/p/10722352.html
Copyright © 2011-2022 走看看