zoukankan      html  css  js  c++  java
  • singleton pattern

    单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。
      

    单例模式有一下特点:
      1、单例类只能有一个实例。
      2、单例类必须自己自己创建自己的唯一实例。
      3、单例类必须给所有其他对象提供这一实例。
      单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。通常,选择单例模式就是为了避免不一致状态,避免政出多头。

     

    饿汉式单例:

    View Code
     1  //饿汉式单例类.在类初始化时,已经自行实例化 
     2  public class Singleton1 {
     3      //私有的默认构造子
     4      private Singleton1() {}
     5      //已经自行实例化 
     6      private static final Singleton1 single = new Singleton1();
     7      //静态工厂方法 
     8      public static Singleton1 getInstance() {
     9          return single;
    10      }
    11  }

    懒汉式单例:

    View Code
     1  //懒汉式单例类.在第一次调用的时候实例化 
     2  public class Singleton2 {
     3      //私有的默认构造子
     4      private Singleton2() {}
     5      //注意,这里没有final    
     6      private static Singleton2 single=null;
     7      //静态工厂方法 
     8      public synchronized  static Singleton2 getInstance() {
     9           if (single == null) {  
    10               single = new Singleton2();
    11           }  
    12          return single;
    13      }
    14  }
  • 相关阅读:
    C#读取数据库字节流生成图片
    twitter通过oAuth验证获取json数据
    C#读写txt文件
    asp.net分页方法
    sql分页代码
    acm寒假特辑 1月19日 CodeForces
    acm寒假特辑 1月25日 CodeForces
    snow miku 日记
    错排问题(个人总结/复习用)
    acm寒假特辑 2月2日 HDU
  • 原文地址:https://www.cnblogs.com/caidi/p/3072612.html
Copyright © 2011-2022 走看看