单例模式介绍

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情



              一,简介


                                     单例模式是很常见一个设计模式,也是基本的设计模式,也是面试,笔试经常提到的设计模式,主要分为饿汉式,赖汉式
    

                                  特点:
                                      1、单例类只能有一个实例。
                           2、单例类必须自己创建自己的唯一实例。
                           3、单例类必须给所有其他对象提供这一实例。




                          1.饿汉式

                                   

//1.只能创建一个对象
	//2.如果不想让别人创建对象,构造方法私有化
	private static DateUtil du = new DateUtil();// 饿汉模式
	
	//2.如果不想让别人创建对象,构造方法私有化
	private DateUtil(){
		
	}
	//3.提供公开的方法,返回对象
	public static DateUtil getInstance(){
		
		return du;
	}

               这种方式单例模式,即在一开始就创建对象的事例,但是这种模式不如赖汉式

           2.赖汉式

                         
/*//提供公开的方法,用于获取对象
	public synchronized static GeneRateCode getInstance(){
		
		if(grc != null){
			
			
			grc = new GeneRateCode();
		}
		
		return grc ;
	}*/
                   当需要时才创建对象,这种比赖汉式更加节约内存,但是还是不够好,因为,他不是线程安全,下面就是真*赖汉式单例模式

                
//提供公开的方法,用于获取对象
	public static GeneRateCode getInstance(){
		
		if(grc == null){
			synchronized(GeneRateCode.class){
				if(grc == null){
					
					
					grc = new GeneRateCode();
				}
			}
		}
		
		return grc ;
	}




                                        


                              
                                       
Kafka 系列 —(17)Kafka 流式处理:Kafka Streams架构、使用场景、框架选择 本文介绍了KafkaStreams的架构特点、应用场景及与其他流处理框架的比较。KafkaStreams作为嵌入式分布式流处理库,其核心架构包含流处理器、任务、拓扑和本地状态存储,具备自动容错和伸缩能力。适用于实时监控、ETL、聚合、Join、物化视图等低延迟场景。与Flink、Spark相比,KafkaStreams适合简架构和微服务,而Flink适合大规模处理,Spark更适合批处理。选择框架需根据具体场景需求,如微服务推荐KafkaStreams,大规模处理推荐Flink。 阅读详情

相关推荐

Halcon深度学习实战:基于异常值检测的工业缺陷精准识别方案

本文详细介绍了Halcon深度学习中的异常值检测技术在工业缺陷识别中的应用。该方法仅需少量正常样本即可训练,能有效应对未知、多变的缺陷类型,显著降低项目启动门槛。文章提供了从数据准备、模型训练、参数调优到产线部署的完整实战指南,并分享了关键的性能优化与避坑经验。

weixin_29042035的博客 223

单例模式(Singleton Pattern)介绍及实现方式

单例模式(Singleton Pattern)是Java中最简设计模式之一。有时因程序需要,我们只需要某个类同时保留一个对象,而不需要多个对象时,可考虑单例模式的设计。 1、懒汉式 2、饿汉式 3、登记式 4、双重校验锁 5、枚举

一生信仰 8684

4、I3C协议详解

I3C最初的设计目的是为移动设备创建一个能够使用多个传感器的一接口。随着现代化移动设备对于传感器数量的增加以及对性能的提高,I2C和SPI已经达到了他们所能支持的临界点,而I3C的出现就是为了解决这一问题,I3C可以在同一根主线上支持更多的传感器设备,而且不会因为要支持中断或睡眠模式而增加额外的逻辑信号。I3C可以在更低功耗的情况下提供更快的传输速率,该特性的提升不止是对移动设备,对其他的嵌入式设备也都是很大的帮助。如穿戴设备,需要在有限的物理空间中使用多个传感器并且要求更小的耗电。 一、简述..

迟子涵925的博客 2万+

单例模式Singleton pattern介绍

保证一个类只有一个实,并提供一个访问他的全局访问点。主要解决问题:一个全局使用的类频繁创建与销毁何时使用:当想控制实数目,节省系统资源的时候。

qq_32226147的博客 118

单例模式介绍单例模式的线程安全问题

单例模式是指对象在内存中只会创建且仅被创建一次的设计模式,这种设计模式被用来解决对象被频繁调用时的反复创建给设备带来较大负担的情况。

Leo521green的博客 1132

Python单例模式介绍、使用

是Python中的一个装饰器(decorator),它表明该方法是一个静态方法。静态方法是一个与类相关的函数,不依赖于类中的任何实,因此静态方法可以在不创建类的实的情况下调用。静态方法可以在类中使用,也可以在类外部使用。静态方法使用装饰器来声明。在上面的代码中,我们定义了一个MyClass类,并使用装饰器来声明静态方法my_static_method()。请注意,与其他编程语言不同,Python中的静态方法可以访问类变量,但不能访问实变量。是一个装饰器(decorator),用于声明一个静态方法。

captain 1665

单例模式介绍

单例模式简介: 单例模式,是 Java 中最简设计模式之一。属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个对象实如:student 类,在当前进程中只创建了一个对象,即一个实单例模式设计模式中最简的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实。要实现这一点,可以从客户端对其进行实化开始。因此需要用一种只允许生成对象类的唯一实的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实化过程。这个方法应该是静态方法(类方法),因

weixin_51633670的博客 276

单例模式 介绍和举

定义:保证一个类仅有一个实,并提供一个访问它的全局访问点。 实现单例模式: var Singleton = function( name ) { this.name = name } Singleton.instance = null Singleton.prototype.getName = function() { console.log(this.name) } Singleton.getInstance.

scorpio的世界 387
上一篇: 关于Thread可能的面试题
下一篇: Thread的生产者和消费者模式
K_122
博客等级 码龄11年 11粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值