`

单例模式

 
阅读更多

单例模式:确保某个类只有一个唯一的实例。

   构造形式:  创建一个全局变量对象(可以不实例化)

                    把构造器私有化

                    静态方法把全局变量实例化,并返回

1.最常用的形式

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

 //这个在涉及到线程的时候不一定生成一个对象了。--》 我们想到了同步synchornized

2.同步形式(懒汉式)

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

 //synchronized是很影响性能的,然而单例模式我们只要在第一次调用的时候才需要同步。--》有了双重锁的形式

3.双重锁

public class Singleton { 
  private static Singleton instance = null; 
  private Singleton(){ 
  } 
  public static Singleton getInstance(){ 
      if(instance==null){ 
          synchornized(Singleton.class){ 
              if(null == instance){ 
                  instance = new Singleton(); 
              } 
          } 
      } 
  return instance; 
  } 
}

 //这样只有在第一次调用的时候进行同步。

4.饿汉式

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

 //在自己内部定义自己的一个实例,只供内部调用

 

例如:读取配置文件的工具类应用到单例模式。

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    单例模式单例模式单例模式

    单例模式单例模式单例模式单例模式单例模式单例模式单例模式单例模式

    C#单例模式详解 C#单例模式详解C#单例模式详解

    C#单例模式C#单例模式详解C#单例模式详解C#单例模式详解

    单例模式详解~~单例模式详解~~

    单例模式详解~~单例模式详解~~单例模式详解~~

    43丨单例模式(下):如何设计实现一个集群环境下的分布式单例模式?1

    2020-02-10 王争设计模式之美进入课程讲述:冯永吉时长 10:21大小 8.31M上两节课中,我们针对单例模式,讲解了单例的应用场景、几种常见的代码实现

    单例模式实现mdi界面子窗体控制

    首先向关注过我这个系列...这立刻让我想到了最常用也是最简单最容易理解的一个设计模式 单例模式 何为 单例模式 ? 故名思议 即 让 类 永远都只能有一个实例。 由于 示例代码 比较简单 我也加了注释,这里就不在赘述

    单例模式,single

    单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时...

    单例模式的多种实现.docx

    单例模式的七种实现方法以及分析,可以作文大作业提交 1.前言 4 1.1 课题的研究背景 4 1.2 课题主要研究目标 4 2.相关技术简介 4 2.1Java简介 4 2.2IDEA简介 4 3. 单例模式的7种实现方式 5 3.1饿汉式(使用静态常量...

    java单例模式实例

    一个简单的java工程,包含注释,一目了然,其中包含了单例模式的所有实现方式,懒汉式,饿汉式,双重校验,枚举,静态内部类等方式实现单例。

    单例模式--只能弹出一个窗体

    单例模式--只能弹出一个窗体 只能弹出一个窗体

    7种单例模式

    设计模式之七种单例模式代码及ppt,包含多线程环境测试和反序列化测试

    设计模式单例模式和工厂模式综合应用

    单例模式和工厂模式结合应用,实现了产品的生产,适合用做课程设计,包含详细文档和代码。Java语言。喜欢的可以下载来看看那

    几种单例模式demo

    几种单例模式的书写方式

    单例模式连接数据库步骤

    单例模式连接数据库步骤 单例模式连接数据库步骤是指在Java项目中使用单例模式来连接数据库的步骤。单例模式是一种设计模式,它可以确保一个类只有一个实例,并提供了一个全局访问点来访问这个实例。在连接数据库时...

    使用单例模式创建学生管理系统(饿汉式、懒汉式)

    使用单例模式创建学生管理系统(饿汉式、懒汉式)

    php单例模式和工厂模式

    php单例模式php单例模式php单例模式php单例模式

    OOP单例模式和工厂模式

    模式就像是OOP开发人员的配方,每种模式都提供了所需的成分。模式对OOP开发人员尤其有用,因为它有助于创建稳定的API,...本章将介绍两种常用的模式:单例模式和工厂模式。前者被称为类的职责,后者被称为类的多态性。

    Qt qml Singleton 单例模式

    此示例展示了Qml 的单例模式(类似全局对象,只生成一次实例,可全局使用) surfsky.cnblogs.com

    单例模式代码实现

    这个讲的是单例模式的多种不同实现方式,希望对单例感兴趣的同学看看

    设计模式——单例模式

    是http://blog.csdn.net/lxq_xsyu/article/category/1544127博客中java设计模式的源代码。下载前请先看《设计模式——单例模式》一文。

    Java SE程序 单例模式

    Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式Java SE程序 单例模式...

Global site tag (gtag.js) - Google Analytics