单例模式和多例的理解

单例 : 就是不管有多少个用户同时访问,只要能保证 new 关键字只被调用一次;那么你这个单例才是真正的单例;

多例 : 不断地new对象;

spring默认是单例模式(意思是在系统初始化的时候,你的controller,sevice都会被spring自动创建一个对象,并且拥有只有这一个对象,你想要更多的对象,有两种方法,第一种是把单例改成多例,第二种是自己new一个);

题外话时间 : 如果是spring的注入对象,在studentController里面 user.setAge(20) 在teacherController的user.getAge 是可以得到20的.因为他们是一个对象;(前提是都是spring注入的user对象,而不是我们自己new出来的)

多例就是不断的new对象…
来一个请求new一个对象…来两个new两个…
例如Struts的action就是多例模式;

果然spring全家桶~
真香 ~

对了~
单例有饿汉式和懒汉式
下次补上单例的饿汉式和懒汉式~
咱们下个文章见~

单例多例是设计模式中常用的概念,它们分别指的是一个类只有一个实例和每个请求使用一个新的实例。它们的好处和应用场景如下所示: 单例的好处: - 节省资源:单例模式可以避免重复创建对象,节省了系统资源的开销。 - 数据共享:单例模式可以实现数据的共享,多个模块可以共享同一个实例,方便数据的传递和操作。 - 简化调用:单例模式可以提供一个全局访问点,简化了对象的调用和管理。 多例的好处: - 隔离数据:多例模式可以实现数据的隔离,每个请求使用一个新的实例,避免了数据的混乱和冲突。 - 并发安全:多例模式在多线程环境下可以保证每个线程使用独立的实例,避免了线程安全问题。 - 灵活性:多例模式可以根据需求创建多个实例,提供了更大的灵活性和扩展性。 确定使用单例还是多例取决于具体的业务需求和设计考虑: - 如果需要共享数据或者节省资源,可以选择单例模式。 - 如果需要隔离数据或者保证并发安全,可以选择多例模式。 范例:<<引用:单例:所有请求用同一个对象来处理。通过单例模式,可以保证系统中一个类只有一个实例。,比如我们常用的service和dao层的对象通常都是单例的。 多例:每个请求用一个新的对象来处理。比如action。 2、为什么用单例多例 [^1]。引用:单例模式多线程不安全,浅解析ThreadLocal类。在上面谈到了对ThreadLocal的一些理解,那我们下面来看一下具体ThreadLocal是如何实现的。 [^2]。>> 单例模式的好处: - 节省资源:单例模式可以避免重复创建对象,节省了系统资源的开销。 - 数据共享:单例模式可以实现数据的共享,多个模块可以共享同一个实例,方便数据的传递和操作。 - 简化调用:单例模式可以提供一个全局访问点,简化了对象的调用和管理。 多例模式的好处: - 隔离数据:多例模式可以实现数据的隔离,每个请求使用一个新的实例,避免了数据的混乱和冲突。 - 并发安全:多例模式在多线程环境下可以保证每个线程使用独立的实例,避免了线程安全问题。 - 灵活性:多例模式可以根据需求创建多个实例,提供了更大的灵活性和扩展性。 确定使用单例还是多例取决于具体的业务需求和设计考虑: - 如果需要共享数据或者节省资源,可以选择单例模式。 - 如果需要隔离数据或者保证并发安全,可以选择多例模式。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是美婷吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值