美文网首页
单例模式的三种情况

单例模式的三种情况

作者: d9610fcd3279 | 来源:发表于2019-03-24 19:26 被阅读0次

1 饿汉式
一上来就创建
线程安全 但是不能延时加载容易造成内存浪费

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

2 懒汉式

先定义一个变量
判断不为空再创建
线程安全 可以延时加载 如果不加synchronized关键字就不线程安全了

public class SingletonDemo2 {
     
    //类初始化时,不初始化这个对象(延时加载,真正用的时候再创建)
    private static SingletonDemo2 instance;
     
    //构造器私有化
    private SingletonDemo2(){}
     
    //方法同步,调用效率低
    public static synchronized SingletonDemo2 getInstance(){
        if(instance==null){
            instance=new SingletonDemo2();
        }
        return instance;
    }
}

3静态内部类

跟饿汉模式有点类似,只是在类装载的时候,SingletonHolder并没有被主动使用,只有显式调用getInstance方法是,才会调用装载SingletoHolder类,从而实例化instance,既实现了线程安全,又避免了同步带来的性能影响。

public class SingletonDemo3 {
 2      
 3     private static class SingletonClassInstance{
 4         private static final SingletonDemo3 instance=new SingletonDemo3();
 5     }
 6      
 7     private SingletonDemo3(){}
 8      
 9     public static SingletonDemo3 getInstance(){
10         return SingletonClassInstance.instance;
11     }
12      
13 }

相关文章

  • JAVA多线程之线程安全的单例模式

    概念:java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。单例模式有一...

  • 关于java单例模式,这篇已经讲得很清楚了,建议收藏!

    概念 java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 特点 单例...

  • 单例模式

    概念 java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式模式,饿汉式模式、登记式单例三种。单例模式有以...

  • java 24 设计模式

    单例模式java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、...

  • Java中单例模式的五种实现方式

    1,基础概念 Java中单例模式是一种比较常见的设计模式,单例模式的种类有:饿汉式单例、懒汉式单例、登记式单例三种...

  • java设计模式(一)

    概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、...

  • Java设计模式之单例模式(几种写法及比较)

    概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、...

  • 单例模式

    概念:Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登...

  • JAVA设计模式之单例模式

    概念 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登...

  • java设计模式之单例模式

    概念: Java中的单例模式是一种常见的设计模式,单例模式的写法有好几种,主要有以下三种:懒汉单例,饿汉式单例,登...

网友评论

      本文标题:单例模式的三种情况

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