设计模式——单例模式

单例模式应该是应用最广的模式,也是最容易理解的模式了.
在许多时候,我们整个系统值需要拥有一个全局对象,这样有利我们的管理和使用.比如网络的访问请求,线程池等.
而写法多种多样,最最简单的写法

public class Singleton {  
    //私有化构造方法
    private Singleton() {}  
    private static Singleton single=null;  
    //静态工厂方法   
    public static Singleton getInstance() {  
         if (single == null) {    
             single = new Singleton();  
         }    
        return single;  
    }  
}  

但是这样写显然不是线程安全的
关于线程安全的写法很多
这里我举例使用静态内部类的单例模式

public class Singleton {    
    private Singleton() {}    
    �private static class Holder {    
        private static final Singleton instance = new Singleton();    
    }    
    public static Singleton getInstance() {     
        return Holder.instance;    
    }    
}    

第一次加载Singleton类不会初始化instance,只有在调用getInstance()的时候才会导致instance被初始化.而且通过静态内部类可以保证单例且线程安全

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java设计模式——单例模式 单例模式应该是大家最为熟知的一种设计模式了,相信大家或多或少的都在自己的项目中使用过...
    gogoingmonkey阅读 3,499评论 0 2
  • 目录 本文的结构如下: 什么是单例模式 为什么要用该模式 模式的结构 代码示例 优点和缺点 适用环境 模式应用 总...
    w1992wishes阅读 3,025评论 1 2
  • 单例模式(Singleton Pattern)是众多设计模式中较为简单的一个,同时它也是面试时经常被提及的问题,如...
    廖少少阅读 3,717评论 0 1
  • 概念 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,比较常见的有:懒汉式单例、饿汉式单例。单例模...
    怡红快绿阅读 3,355评论 0 0
  • 单例模式 定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 使用场景:确保一个类有且只有一个...
    ping_平阅读 1,531评论 0 0

友情链接更多精彩内容