首页 > 其他分享 >单例模式

单例模式

时间:2022-09-18 12:12:43浏览次数:61  
标签:单例 对象 创建 模式 静态 饿汉 懒汉

单例模式

就是只有一个对象

饿汉式

1、将构造器私有化

2、在类中直接创建一个私有对象(static)

3、向外暴露一个静态公共方法,返回对象

 

 

懒汉式

1.将构造器私有化

2、在类中定义一个静态对象,没有创建

3、定义一个静态公共方法,只有当用户使用这个方法时,才会创建对象。

4、静态公共方法创建之后,只会返回同一个对象

 

 

饿汉式和懒汉式区别

1、饿汉式在类加载的时候就创建了一个对象,就算你没去使用也会创建,可能造成资源浪费

2、懒汉式只有使用静态方法才会创建对象,不会造成浪费

3、懒汉式可能存在线程安全问题,因为可能有多个线程同时使用这个方法,造成创建多个对象。饿汉式则不存在

4、在java.lang.Runtime中使用的就是单例模式

 

标签:单例,对象,创建,模式,静态,饿汉,懒汉
From: https://www.cnblogs.com/shangshil/p/16704243.html

相关文章

  • JAVA设计模式-工厂模式
    JAVA设计模式-工厂模式简单工厂模式介绍简单工厂模式就是定义一个工厂类,工厂类提供获取实例的方法,方法会根据传入的参数不同来返回不同的实例。不同的实例基本都有共同......
  • 适配器模式
    Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。该角色把其他类转换为我们期望的接口Adapter(适配器类):将被适配者和目标接口组合......
  • MVC,大家都知道的模式……不太好
    MVC,大家都知道的模式……不太好“MVC是引用最多(也是最错误引用)的模式之一”——MartinFowlerCréditphoto:史蒂夫·约翰逊与许多关于这个主题的文章和评论相反,......
  • Jmeter远程服务模式运行时引用csv文件的路径配置
    问题在使用jmeter过程中,本机的内存等配置不足,启动较多的线程时,可以采用分布式运行。在分布式运行的时候,jmeter会自动将脚本从master主机发送到remote主机上,所以不需要考......
  • 设计模式
    1.单例模式-饿汉实现步骤:1.构造器私有化。2.类的内部创建对象。3.向外暴漏一个静态的公共方法。getInstance使用场景:publicclassFindGirlFriend{//......
  • js工厂模式和构造函数
    <!DOCTYPEhtml><html><head> <title>工厂模式和构造函数</title> <metacharset="utf-8"></head><body> <scripttype="text/javascript">//工厂模式跟构造函数//在js中......
  • 简单工厂模式
    简单工厂模式工厂接口packagesimpleFactorytypedrinkinterface{show()}咖啡对象packagesimpleFactorytypecoffeestruct{}func(c*coffee)show()......
  • 【设计模式篇】访问者模式(Visitor)
    访问者模式定义(GoF):表示一个作用于某对象结构中的各种操作,它使你在不改变各个元素类的前提下定义作用于这些元素的新操作。先通过结构图,来了解访问者模式应用场景我们......
  • 如何结合整洁架构和MVP模式提升前端开发体验(三) - 项目工程化配置、规范篇
    工程化配置还是开发体验的问题,跟开发体验有关的项目配置无非就是使用eslint、prettier、stylelint统一代码风格。formattingandlinteslint、prettier、stylelint怎......
  • 单例以及模板类的静态成员变量的生命周期
    我们有如下的单例设计模式的实现:template<typenameT>classOnceSingle{public:OnceSingle()=delete;OnceSingle&operator=(constOnceSingle<T>&m)=......