美文网首页
单例模式的几种写法

单例模式的几种写法

作者: 树深时见鹿丶 | 来源:发表于2017-09-30 22:27 被阅读0次

一、饿汉式

特性:立即创建 线程安全 没有延迟加载

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

二、懒汉式

特性:延迟创建,线程不安全

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

三、加锁的懒汉式

特性:延迟创建 线程安全 同步情况下效率低

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

四、双重验证式懒汉式

特性:延迟创建 线程安全 同步情况下效率高

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

五、类加载方式

特性:延迟创建 线程安全 同步情况下效率高

    public class Single {
    private Single(){}
    private static class ClassHolder{
        private static Single instance=new Single();
    }
    public static Single getInstance(){
        return ClassHolder.instance;        
    }
    }

六、枚举方式

特性:原生防止反射和反序列化击穿

    public enum Single{
        INSTANCE;
    }

相关文章

  • 单例模式

    单例设计模式是几种设计模式中比较容易理解的,手写单例模式也是面试频繁问到的。下面总结一下单例模式的几种写法: //...

  • java 24 设计模式

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

  • Java设计模式—单例模式

    概念 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,比较常见的有:懒汉式单例、饿汉式单例。单例模...

  • Java设计模式_单例模式

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

  • 2019-08-27 java设计模式之单例模式

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

  • java设计模式(一)

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

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

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

  • 单例模式与多线程

    这里直接给出几种懒汉模式的单例多线程安全的写法。这种写法就是普通的单例模式,但是是非线程安全的,至于原因,根据前面...

  • 单例模式

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

  • JAVA设计模式之单例模式

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

网友评论

      本文标题:单例模式的几种写法

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