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

    /**
    * 饿汉式
    *
    */
    class Singleton {
      //1.私有构造,其他类就不能访问该构造方法了
      private Singleton () {};
      //2.创建本类对象
      private final static Singleton singleton = new Singleton();
      //3.对外提供公共的访问方法
      public static Singleton getSingleton() {
      return singleton;
      }
    }

    /**
    * 懒汉式
    *
    */
    class Singleton2{
    //1.私有构造方法,其他类就不能访问该构造方法了
      private Singleton2() {};
      //2.声明一个引用
      private static Singleton2 singleton2;
      //3.对外提供公共的访问方法
      public static Singleton2 getSingleton() {
      if(singleton2 == null) {
      singleton2 = new Singleton2();  
      }
      return singleton2;
      }
    }

    /*
    * 饿汉式和懒汉式的区别
    * 1.饿汉式是空间换时间(一开始就创建对象),懒汉式是时间换空间(开始只是声明,调用的时候判断是否创建对象,否,才会创建对象)
    * 2.多线程访问时,饿汉式不会创建多个对象,懒汉式有可能会创建多个对象

    */

    /**
    * 没有名字的单例模式
    *
    */
    class Singleton3{
           //1.私有构造方法,其他类就不能访问该构造方法了
           private Singleton3() {};
           //2.对外提供公共的静态常量
      public static final Singleton3 singleton3 = new Singleton3();
    }

  • 相关阅读:
    How to Get Started With AIOps
    第六部分 实现细节
    第一部分 概览
    第五部分 软件架构
    vs2010 sqlite guid 问题
    cordova(phonegap)+qjm 一统天下
    jQuery调用WebServices总是出错问题解决
    phonegap中http链接自动调用本地浏览器解决办法
    MSSQL省市数据库
    博客的第一篇
  • 原文地址:https://www.cnblogs.com/zyybb/p/10510084.html
Copyright © 2011-2022 走看看