美文网首页程序员
Java设计模式---单例

Java设计模式---单例

作者: 简书不简单iiii | 来源:发表于2019-03-11 11:26 被阅读0次

单例模式可是使用频率较高的了先上个图

大概的几种单例模式

单例模式分为两种一种是饿汉式一种是懒汉式  其中饿汉式是天生线程安全的

1 饿汉式:第一次引用就会创建一个实例,也只会有这一个实例 所以线程安全;但是缺点是没办法实现懒加载

饿汉式(线程安全)

2 懒汉式:在单线程中Singleton的静态属性instance中,只有instance为null的时候才创建一个实例,构造函数私有,确保每次都只创建一个,避免重复创建;缺点不能再多线程中使用,因为:当两个线程同时运行到判断instance是否为空的if语句,并且instance确实没有创建好时,那么两个线程都会创建一个实例

懒汉式(线程不安全)

3 同步锁模式:在懒汉模式上加上了方法同步锁,在同一时刻只能有一个线程得到锁,所以在多线程下也能保证只有一个实例;缺点:每次通过getInstance方法得到singleton实例的时候都有一个试图去获取同步锁的过程。加锁很耗时。

(懒汉式)同步锁单例

4 双重加锁DCL:只有当instance为null时,需要获取同步锁,创建一次实例。当实例被创建,则无需试图加锁;缺点:用双重if判断,复杂,容易出错。

DCL

相关文章

  • JAVA设计模式 - 单例模式

    JAVA设计模式 - 单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一...

  • Java中单例模式你用的哪一种?

    一起讨论java中的单例模式。单例模式是java设计模式中算是最简单的设计模式了。 * java实现单例模式的写法...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • JAVA设计模式之单例模式

    JAVA设计模式之单例模式

  • 设计模式

    Java 设计模式情景分析 ——单例模式 Java 设计模式情景分析——建造者模式 Java 设计模式情景分析——...

  • 设计模式——单例模式

    设计模式——单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,这种类型...

  • Java设计模式教程

    Java设计模式教程 Java工厂设计模式 Java抽象工厂模式 Java单例模式 Java建造者(Builder...

  • 设计模式

    单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式...

  • 设计模式(二)——创建型模式

    一、 单例模式 1. 什么是单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模...

  • Java四种单例设计模式

    Java中的四种单例模式 单例模式是最容易理解的设计模式之一,介绍Java中单例模式的四种写法。 1.基本单例模式...

网友评论

    本文标题:Java设计模式---单例

    本文链接:https://www.haomeiwen.com/subject/besvpqtx.html