美文网首页
Java创建单例模式

Java创建单例模式

作者: zfz_amzing | 来源:发表于2020-03-05 14:16 被阅读0次

创建单例模式

第一种方式

  • 优点:简单易懂
  • 缺点:在不需要此类的时候也会new一个对象,造成了资源的浪费,如果有多个此类的单例模式类,启动速度会比较慢
class Singleton {
    private static Singleton singleton = new Singleton();
    private Singleton(){

    }
    public static Singleton getSingleton(){
        return singleton;
    }
    public void Print(){
        System.out.println("this is singleton");
    }
}

第二种方式

  • 优点:简单且不占用资源
  • 缺点:不是完全的线程安全的,如果在if语句执行过后转移到另一线程执行,在转移回来的时候将不进行判断,又生成一次
class Singleton {
    private static Singleton singleton= null;
    private Singleton(){

    }
    public static Singleton getSingleton(){
        if(singleton == null){
            singleton = new Singleton();
        }
        return singleton;
    }
}

第三种方式--线程安全的

该方式一次锁住了一个方法,粒度较大,可以改进为锁住new语句,就是所谓的“双重锁机制”

class Singleton{
    private static Singleton singleton =null;
    private Singleton(){

    }
    public static synchronized Singleton getSingleton(){
        if (singleton == null){
            singleton = new Singleton();
        }
        return singleton
    }
}

改进后:

class Singleton{
    private static Singleton singleton =null;
    private Singleton(){

    }
    public static synchronized Singleton getSingleton(){
        if (singleton == null){
            synchronized (Singleton.class){
                singleton = new Singleton();
            }
        }
        return singleton;
    }
}

相关文章

  • 创建型模式——单例模式

    单例模式简介 单例模式是java创建型模式之一,主要作用是创建唯一对象。 单例模式特点:1.单例类只有一个实例。2...

  • 从零开始学设计模式(三)——单例模式(Singleton Pat

    单例模式(Singleton Pattern) 单例模式也属于创建型模式,难度等级为初级,是Java中最简单和最常...

  • 单例模式

    java设计模式-单例模式 @(JAVA设计模式) 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行...

  • 常用的设计模式

    Java中常用的设计模式 1.单例模式 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自...

  • Kotlin-单例类

    1、单例模式:设计模式之一,可以避免创建重复的对象。 2、单例模式工作机制Java写法: public class...

  • 单例模式

    单例模式介绍 单例模式是java创建性模式的一种,提供了一种创建对象的最佳模式. 关于指令集乱序: 在堆中的对象,...

  • 开发之设计模式-单例模式

    设计模式 设计模式分为三大类:创建型、结构型、行为型在Java中有24中设计模式 创建型:单例 1、为什么用单例模...

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

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

  • JAVA设计模式 - 单例模式

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

  • Java创建单例模式

    创建单例模式 第一种方式 优点:简单易懂 缺点:在不需要此类的时候也会new一个对象,造成了资源的浪费,如果有多个...

网友评论

      本文标题:Java创建单例模式

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