• 单例模式


    /**
    * 饿汉式
    *
    */
    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();
    }

  • 相关阅读:
    Jsp语法、指令及动作元素
    java之Cookie详解
    servlet请求转发、包含以及重定向
    20181114_特性
    20181114_反射_泛型反射
    20181112_反射基础_对象获取
    20181110_wait和async
    20181106_线程之异常_取消_变量_安全Lock
    20181105_线程之Task
    20181104_C#线程之Thread_ThreadPool_使用Thread实现回到和带参数的回调
  • 原文地址:https://www.cnblogs.com/zyybb/p/10510084.html
Copyright © 2020-2023  润新知