• 7.02_单例模式(懒汉模式,恶汉模式)


    一、什么是单例模式

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

        * 如何保证类在内存中只有一个对象呢?
        * (1)控制类的创建,不让其他类来创建本类的对象。private
        * (2)在本类中定义一个本类的对象。Singleton s;
        * (3)提供公共的访问方式。 public static Singleton getInstance(){return s}
    二、 单例写法两种:
         (1)饿汉式 开发用这种方式。

            //饿汉式
            class Singleton {
            //1,私有构造函数
              private Singleton(){}
            //2,创建本类对象
            private static Singleton s = new Singleton();
            //3,对外提供公共的访问方法
          public static Singleton getInstance() {
            return s;
            }

          public static void print() {
            System.out.println("11111111111");
            }
          }
          (2)懒汉式 面试写这种方式。多线程的问题?

          //懒汉式,单例的延迟加载模式
          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;
          }

          public static void print() {
            System.out.println("11111111111");
          }
      }
       (3)第三种格式
        class Singleton {
          private Singleton() {}

           public static final Singleton s = new Singleton();//final是最终的意思,被final修饰的变量不可以被更改

          }

  • 相关阅读:
    shell script 学习笔记-----标准输出
    《TCP/IP详解 卷一》读书笔记-----TCP persist &Keeplive timer
    《TCP/IP详解 卷一》读书笔记-----TCP超时重传
    《TCP/IP详解 卷一》读书笔记-----TCP数据流
    《TCP/IP详解 卷一》读书笔记-----TCP连接建立
    《TCP/IP详解 卷一》读书笔记-----DNS
    《TCP/IP详解 卷一》读书笔记-----广播&多播&IGMP
    《TCP/IP详解 卷一》读书笔记-----UDP&IP 分片
    《TCP/IP详解 卷一》读书笔记-----动态路由协议
    《TCP/IP 详解 卷一》读书笔记-----IP静态 路由
  • 原文地址:https://www.cnblogs.com/zyyzy/p/12422175.html
Copyright © 2020-2023  润新知