前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式-单例模式

设计模式-单例模式

作者头像
cwl_java
发布2019-10-26 20:45:45
2520
发布2019-10-26 20:45:45
举报
文章被收录于专栏:cwl_Javacwl_Java

单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。 单例模式又可以分为饿汉式和懒汉式,顾名思义饿汉式就是很饿,所以会先创建出一个对象来,等待消费.懒汉式就是很懒,会等到调用时再创建出一个对象

1.懒汉单例模式
public class LazySingleton {
    //保证 instance 在所有线程中同步
    private static volatile LazySingleton instance=null;
    //避免类在外部被实例化
    private LazySingleton(){}

    public static synchronized LazySingleton getInstance() {
        //getInstance 方法前加同步
        if(instance==null) {
            instance=new LazySingleton();
        }
        return instance;
    }
}
2.饿汉单例模式
public class HungrySingleton {
    private static final HungrySingleton instance=new HungrySingleton();
    private HungrySingleton(){}
    public static HungrySingleton getInstance()
    {
        return instance;
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.懒汉单例模式
  • 2.饿汉单例模式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档