社区
设计模式
帖子详情
那位高手解释一下有状态的单例模式
king_wjb
2008-04-02 05:57:14
那位高手解释一下有状态的单例模式。
这个状态怎么持有、怎么改变?改变后,所有使用这个单例的状态是否都改变了?
最好能举个例子,谢谢!
...全文
274
9
打赏
收藏
那位高手解释一下有状态的单例模式
那位高手解释一下有状态的单例模式。 这个状态怎么持有、怎么改变?改变后,所有使用这个单例的状态是否都改变了? 最好能举个例子,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gaoteng1984
2008-07-18
打赏
举报
回复
通过Observer模式可以通知到“所有持有这个单例的对象们”,通知其状态改变。
纯单例模式,只有1个对象,自然只有1个状态。
如果使用了Copy-On-Write,就不是纯单例模式了。
zyw052553
2008-06-22
打赏
举报
回复
这是我在网上搜到的:
单例模式也属创建模式的一种.确保某个类只有一个实例.而且自行实例化并向整个系统提供此实例.
1. 只有一个实例.
2. 自行实例化.
3. 向整个系统提供其实例.
单例模式分为饿汉式和懒汉式.(构造子均为私有)
饿汉式单例类指的是在类中声明一个静态变量,并初始化为一个本类实例.然后在类中提供一个公共方法返回其实例.以下是示例代码:
public class EagerSingleton {
public static EagerSingleton eagerInstance = new EagerSingleton();
private EagerSingleton(){}
public static EagerSingleton getInstance(){
return eagerInstance;
}
}
懒汉式单例类指的是在自己第一个被引用时将自己实例化.
public class LazySingleton {
public static LazySingleton lazyInstance = null;
private LazySingleton(){}
synchronized public static LazySingleton getInstance(){
if(lazyInstance == null){
lazyInstance = new LazySingleton();
}
return lazyInstance;
}
}
有状态单例类:
它是一种可变对象.比如一个单例对象可以持有一个int类型的属性,用来给系统提供一个数值惟一的序列号.
无状态单例类.
无状态单例类即是不变对象.比如一个提供工具函数的对象.
在多个JVM分散式系统或多个类加载器的情况下,应避免使用有状态单例类.
多例模式是单例模式的推广. 它是多个单例的聚集.可以根据需要创建任意个对象. 比如一个系统里面读取资源文件的对象中,构造对象时需要包含语言,区域等信息,创建对应的local对象然后来读取正确的资源文件. 此时,为了支持国际化,就可能需要用到多例模式.针对每一种区域/语言都创建一个惟一的对象,存放在一个集合中.
michaelwangwh
2008-05-23
打赏
举报
回复
偶系菜鸟,不清楚lz的需求 如果是按照4楼的理解有notify的那就加上observer,如果不需要notify就简单聚合一个静态的状态字段就行了, orz
iGoo
2008-04-30
打赏
举报
回复
你说的意思是~~~~当一个状态被改变那么所有和这个状态关联的操作都被执行,
而这个状态的源头是唯一实例?那么用单件模式 + 发布者模式就好了~
meiZiNick
2008-04-30
打赏
举报
回复
等待牛人来答.
knowledge_Is_Life
2008-04-30
打赏
举报
回复
这个简单啊,网上搜一下就得到答案了.
UltraBejing
2008-04-30
打赏
举报
回复
接分是王道!
wudichong
2008-04-10
打赏
举报
回复
某愧,助顶
king_wjb
2008-04-07
打赏
举报
回复
没有人?
对于REST中无
状态
(stateless)的一点认识
本文探讨了REST架构中
状态
的概念,解释了有
状态
与无
状态
的区别,并分析了为何传递SessionID被视为unRESTful,而每次请求都包含用户凭证却被认为是RESTful的做法。
转:对于REST中无
状态
(stateless)的一点认识
本文探讨了Web应用程序中的
状态
管理概念,对比了有
状态
与无
状态
架构的特点及其对系统的影响,并深入解析了RESTful架构下的
状态
处理方式。
Kubernetes Operator实战:云原生环境下的Apache NiFi自动化部署与管理
本文详解基于Kubernetes Operator模式实现Apache NiFi集群的自动化部署与管理,涵盖CRD设计、StatefulSet封装、动态配置生成、自发现集群引导、扩缩容、滚动升级、监控日志备份及典型故障排查。重点解决NiFi作为有
状态
应用在云原生环境下的存储身份一致性、SSL/TLS安全配置、资源隔离与声明式运维等核心技术挑战。
对于REST中Statelessness的一点认识
本文探讨了RESTful架构中
状态
管理的重要性,分析了有
状态
与无
状态
架构的区别,并解释了为何SessionID被视为unRESTful,而用户凭证则符合RESTful规范。
restful 对于REST中无
状态
(stateless)的一点认识
本文探讨了RESTful架构中
状态
管理的重要性,分析了有
状态
与无
状态
架构的区别,并解释了为何SessionID被视为unRESTful,而用户凭证则符合RESTful规范。
设计模式
3,408
社区成员
1,071
社区内容
发帖
与我相关
我的任务
设计模式
专题开发/技术/项目 设计模式
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 设计模式
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章