单例模式

确保一个类只有一个实例,并提供一个全局访问点。

饿汉式,线程安全。场景:应用程序总是创建并使用单例实例,或者在创建和运行时方面的负担不太繁重。

public class Singleton {private static Singleton mInstance = new Singleton3();private Singleton3() {}public static Singleton3 getInstance() {return  mInstance;}
}

懒汉式,同步方法。场景:getInstance()(的性能对应用程序不是很关键。

public class Singleton {private static Singleton mInstance;private Singleton() {}public synchronized static Singleton getInstance() {if( mInstance == null) {mInstance = new Singleton();}return mInstance;}
}

双重检查加锁,减少getInstance()的时间耗费。

public class Singleton {private volatile static Singleton mInstance;private Singleton() {}public static Singleton getInstance() {if (mInstance == null) {synchronized (Singleton.class) {if (mInstance == null) {mInstance = new Singleton();}}}return mInstance;}
}

转载于:https://www.cnblogs.com/kyun/p/10243669.html

设计模式————单例模式相关推荐

  1. Python设计模式-单例模式

    Python设计模式-单例模式 基于Python3.5.2,代码如下 #coding:utf-8 import threading import timeclass Singleton(object) ...

  2. Android设计模式——单例模式(Singleton)

    二十三种设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元 ...

  3. 【学习笔记】ABAP OOD设计模式 - 单例模式

    ABAP OOD设计模式 - 单例模式 整理转自-<SAP ABAP 面向对象程序设计(原则.模式及实践)> 单例模式(Singleton Pattern)是常用的且较为简单的软件设计模式 ...

  4. Go 语言实现 23 种设计模式 单例模式

    Go 语言实现 23 种设计模式 单例模式 单例模式 单例模式是一种常用的软件设计模式,在使用过程中,单例对象的类只有一个实例.使用单例模式,1 可以节省内存等资源,例如windows操作系统的资源管 ...

  5. java singleton inner class_Java面向对象设计模式-单例模式

    Java面向对象设计模式-单例模式 2020-05-28 589 0 单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点,有多重实现方式. 一.饿汉式单例模式,构造方法私有化,在加载类Sin ...

  6. Java开发中常用的设计模式-单例模式

    单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式. Java开发中常用的设计模式-单例模式 单例模式有3个特点: 单例类只有一个实例对象: 该单例对象必须 ...

  7. 炒冷饭系列:设计模式 单例模式

    2019独角兽企业重金招聘Python工程师标准>>> 炒冷饭系列:设计模式 单例模式 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆 ...

  8. 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在Java中的使用示例

    场景 设计模式-单例模式-饿汉式单例模式.懒汉式单例模式.静态内部类在Java中的使用示例: 设计模式-单例模式-饿汉式单例模式.懒汉式单例模式.静态内部类在Java中的使用示例_霸道流氓气质的博客- ...

  9. 设计模式----创建型设计模式(单例模式、工厂方法模式、构建者模式)

    创建型设计模式 单例模式(Singleton Pattern) 单例模式介绍 代码演示 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程安全, ...

  10. 小视频源码,设计模式单例模式

    小视频源码,设计模式单例模式实现的相关代码 .一,单线程时候推荐 /*** Created by Shinelon on 2018/10/11.* 单利模式 懒汉式 -->单线程推荐使用*/pu ...

最新文章

  1. CV00-02-CV基本操作1
  2. MySQL utf8mb4 字符集:支持 emoji 表情符号
  3. (视频+图文)机器学习入门系列-第10章 人工神经网络
  4. hp designiet 500绘图仪程序_邹军:通过数控宏程序实现刀具寿命管理
  5. js面向对象之创建对象1
  6. Java API 操作Zookeeper
  7. centos 等保三级_等保测评三级整改-身份鉴别
  8. SQL插入数据的方法
  9. Linux删除文件夹的方法
  10. VMware ESXi下虚拟机的嗅探设置
  11. 【渝粤教育】国家开放大学2018年秋季 2711T花卉栽培技术 参考试题
  12. 火狐浏览器Json插件(JSONView)
  13. 三次参数样条曲线拟合(任意控制点)
  14. eyoucms分页通用css样式
  15. linux压缩超过4g的文件吗,使用tar压缩文件,不能超过4G,有什么办法解决-
  16. 倍加福光电传感器OBE10M-18GM60-SE5-V1
  17. 20.Consent Controller Get请求逻辑实现
  18. BT-3の蓝牙技术原理のBT协议の蓝牙核心协议の链路管理协议(LMP)
  19. 网站备案和域名实名认证的重要性
  20. 知乎视频:联合创作盘活内容价值

热门文章

  1. 分析分布式服务框架理论介绍
  2. 对象的引用和clone
  3. mysql导出数据库数据及表结构
  4. ASP.NET 2.0 页面编译方式
  5. Java方法,调用,static关键字
  6. 基于HTML5 Canvas实现工控2D叶轮旋转
  7. PHP实现http与https转化[转张宴]
  8. sl中几个简单变量的获取
  9. ASP.NET 2.0的全球化与本地化之全球化
  10. SQL Server 2005 查询处理器未能为执行并行查询启动必要的线程资源。