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

    设计模式是前辈们在多年开发工作中经验的总结,可以提高代码的重用性,可靠性格规范性,让代码更加容易理解,而单例模式是最简单,最常用的设计模式之一。基本的设计模式有23种;

    单例模式中有饿汉模式和懒汉模式;

    /*

    *应用的场合:有些对象只需要有一个就足够了

    *作用:保证整个应用程序某个实例有且仅有一个

    *类型:饿汉模式和懒汉模式

    */

    /*

    *饿汉模式

    *当要创建一个对象时,都会调用这个类的构造方法;如果一个类没有指定构造方法;就会调用系统**默认的构造方法;、

    */

    package com

    public class Singleton{

    //1.将构造方法私有化,不允许外部直接创建对象;

      private Singleton(){

      }

    //2.创建类的实例。类的唯一实例;使用private static修饰;在Singleton加载的时候就会执行;创建一个类的实例;

    private statice Singleton instance = new Singleton();

    //3.提供一个用于获取实例的方法;使用public static 修饰;

     public static Singleton getInstace (){

      return instance;

    }

    }

    /*懒汉模式*/

    package com

    public class Singleton2{

      //将构造方法私有化,不允许外边直接创建;

      private Singleton2(){

      }

      //创建类的唯一实例。使用private static修饰;当类加载的时候并没有去

      // 创建这个唯一的实例;而是当用户去获取的时候才去创建;

      private static Singleton2 instance;

      //3.用于获取实例的方法;

      public static Singleton2 getIntace(){

        if(instance == null){

          instance = new Singleton2();

        }

        return instance;

      }

    }

    public class test{

      public void main(String[] args){

      Singleton s1 = Singleton.getInstace()  ;

      Singleton s2 = Singleton.getInstace() ;

      if(s1==s2){

      System.out.print("s1和s2是同一个实例")

      }else{

        System.out.print("s1和s2不是同一个实例")

      }

      }

    }

    /*

    饿汉模式的特点是加载类时比较慢,但在运行时比较快;(线程安全)

    懒汉模式的特点是加载类时比较快,但在运行时比较慢;(线程不安全)

    */

  • 相关阅读:
    软件工程实践2019第四次作业
    软件工程实践2019第三次作业
    C语言第九次博客作业---指针
    基于open cv的人脸检测功能 (大自然的搬运工)
    STM32F103RCT6驱动AD7705(cubeide)
    python-tips
    在树莓派上使用DS18B02,并将数据打印在oled上
    数据库基础1
    转载:Why machine learning algorithms are hard to tune and how to fix it
    论文笔记(7)-"Local Newton: Reducing Communication Bottleneck for Distributed Learning"
  • 原文地址:https://www.cnblogs.com/zht0915/p/4638628.html
Copyright © 2011-2022 走看看