设计模式是前辈们在多年开发工作中经验的总结,可以提高代码的重用性,可靠性格规范性,让代码更加容易理解,而单例模式是最简单,最常用的设计模式之一。基本的设计模式有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不是同一个实例")

  }

  }

}

/*

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

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

*/

转载于:https://www.cnblogs.com/zht0915/p/4638628.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. 启动一个java项目http状态 500 - 内部服务器错误_Java web服务器假死分析
  2. 【Web安全】JSP内存马研究
  3. 在jQuery和JavaScript中,实现转跳
  4. 西北工业大学计算机毕业论文,光纤通信发射机本科毕业论文 西北工业大学.docx...
  5. java socket send_java socket编程
  6. 【转】C#中[STAThread]的作用
  7. matlab 多径 时变 信道 冲击响应,无线信道—时变冲激响应
  8. 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》
  9. 虚实结合:无需人工标注的可泛化行人再辨识
  10. react如何写ajax,请问如何在React中做Ajax 请求?
  11. CSS卡贴悬停展开效果
  12. root改手机型号王者,手机root后怎么改手机型号
  13. VASP - Bader Charge Analysis
  14. 楼教主(楼天成)的ACM心路历程
  15. python画糖葫芦_小班美术甜甜的糖葫芦教案
  16. 1.微服务架构-什么是微服务
  17. 第二次:收集2000年到2017的网游(包含71款各个年代的热门游戏)
  18. 写一款汽车维修保养软件,让维修保养管理更加轻松,JavaScript 作用域
  19. 银河麒麟系统配置外网源
  20. 在Windows下远程桌面连接Linux - VNC篇

热门文章

  1. 一个小时内学习SQLite数据库
  2. 表面风平浪静,实则暗流涌动:如何智能发现网络中的异常?
  3. 并发编程(一)__volatile关键字
  4. 全国四分之三的光伏电站市场面临较大投资风险
  5. Linux基础知识(一)
  6. VC 系统托盘编程,含有气泡提示
  7. [HTML/CSS]margin属性用法
  8. jquery.mobile手机网页简要
  9. uva 299 - Train Swapping
  10. Hasor:生命周期