zoukankan      html  css  js  c++  java
  • 什么是单例模式?

    单例模式的定义:一个类就有一个实例对象,而且自行实例化,并向整个系统提供这个实例。

    单例模式根据实例化对象的时机不同分为两种:饿汉式单例、懒汉式单例。

    饿汉式单例:

    public class Singleon{
         private static Singleon singleon  = new Singleon();
         private Singleon(){}
         pulic static Singleon getInstance(){
               return singleon;
       }
    }
    

    懒汉式单例:

    public class Singleon{
          private static Singleon singleon = null;
          private Singleon(){}
          public static synchronized Singleon getInstance(){    //加上synchronized 纯粹就是为了线程安全,这里我就不多说了,自己接触的不多,没有发言权
                  if(singleon==null){
                          singleon = new Singleon();
                  }      
                  return singleon;
          }
    }
    

     两者的功能是一样的,只是实例化对象的时机不一样,饿汉式单例,实在类被加载的时候实例化对象;懒汉式单例,是在调用方法的时候创建实例化对象;

     单例模式的优点:

    1、在内存中,只有一个对象,节省内存空间

    2、避免频繁的创建销毁对象,可以提高性能

    3、避免对共享资源的多重利用

    4、可以全局访问

    单例模式的使用场景:

    1、需要频繁实例化然后销毁的对象

    2、创建对象时耗时过多或者耗资源过多,但又经常用到的对象

    3、用作工具类对象

    4、频繁访问数据库或者文件的对象

    5、还有其它的吧,应该,我还没用到的场合。。。。。。。

       

  • 相关阅读:
    第二章-2、显示/隐藏/切换
    第二章-1、打开链接
    1、创建自定义原件库
    3、常用小例子
    2、快捷键
    IOS开发中(null)与<null>的处理
    iOS UIPageControl的操作,设置圆点大小,显示图片等
    iOS 支付回调区分支付宝和微信的方法
    iOS 字符串的操作,去掉某一个字符或者替换成其他字符
    iOS 判断当前网络状态
  • 原文地址:https://www.cnblogs.com/ZT-SummerRain/p/4966339.html
Copyright © 2011-2022 走看看