问题标签 [singleton-methods]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
885 浏览

java - Collections.singleton() 方法不能用作文档?

我已经测试了 Collections.singleton() 方法,如何工作,但我发现它不像文档所说的那样工作?

正如文档所说,方法调用返回一个仅包含指定对象的不可变列表,单例列表仅包含一个元素,而单例 HashMap 仅包含一个键。单例对象是不可变的(不能修改以添加更多元素),但是当我在代码中看到的内容包含三个元素(“Nguyen”、“Van”、“Jone”)时。

任何人都可以为我解释为什么?非常感谢 !!

0 投票
1 回答
1297 浏览

garbage-collection - 何时收集单例类对象垃圾?

如果使用单例模式创建一个类的单个实例,如果长时间不被引用,如果GC找到叶子是Singleton实例的无根树,是否会被垃圾回收?

0 投票
2 回答
579 浏览

c# - 如何在不锁定的情况下对具有相关 ID 的单例进行多线程“跨层”处理?

因此,我们使用具有相关 ID 的通用状态上下文单例来进行集中式日志记录。目的是在整个过程中跟踪 id 并关联不同的层。

状态上下文由多个 dll 和多个用户访问。

当多线程发挥作用时,困难就来了:

  1. 进程 1 已被用户 1 解雇
  2. 相关 ID 设置为 {1}
  3. DLL A 访问状态上下文并获取相关 ID {1}
  4. 在进程 1 完成之前,进程 2 已被用户 2 解雇
  5. 相关 ID 设置为 {2}
  6. DLL B 来自第一个进程访问状态上下文,关联 ID 为 {2},它应该是 {1}

我们如何解决这个问题?

我们不认为锁定是我们的解决方案吗?还有其他想法吗?

这是一个图表

{} = 可能的 DLL 示例

每个用户的进程应该有 1 个相关 ID

0 投票
3 回答
683 浏览

java - 多线程环境中的静态方法与单例方法

我有一个带有静态方法和单例类的代码示例

这是最好的使用方法。当 2 个线程调用我的方法之一时会发生什么?在处理集合时,我的数据是否会损坏?静态方法分配了公共内存,所以当2个线程调用一个静态方法时会相互影响吗?在单例中只创建一个实例,如果 2 个线程用一个实例调用一个方法,它会相互影响吗?请帮助理解这一点。谢谢...

0 投票
1 回答
103 浏览

windows-phone-8.1 - 如何维护连接(在单例类中创建)在下一页

我正在尝试在我的第一页中在 wp8.1 中开发一个 Windows 聊天应用程序我在单例类中创建了一个服务器连接。我创建了另一个用于发送消息的窗口。使用单例我如何在下一页也维护服务器连接?我的发送按钮在下一页。所以我怎样才能在第二页中保持我的连接也使用单例。??提前致谢

这是我使用单例进行服务器连接的第一页代码

0 投票
7 回答
5875 浏览

c# - 单例设计模式中私有构造函数的需求是什么?

当我浏览下面的代码时,我找不到它在示例中使用私有构造函数的原因?

...

如果我创建了一个静态类而不是公共类,我可以直接使用该类而不是创建实例。当静态关键字持续到同一个工作时,在这里创建私有构造函数有什么需要?

遵循这种模式还有其他优势吗?

0 投票
1 回答
1583 浏览

c# - 无状态单例和并发

我有一个关于无状态单身人士的问题。我还有一个关于状态单例的问题。

无状态单例服务是帮助可扩展性的好方法。构建我维护的项目的程序员基本上说不会有并发问题,因为“它只是代码”(即 Singleton 类)。这意味着该类没有类级别的变量。这只是方法。

这就是我对 C# 的了解变得有些模糊的地方。是否存在两个用户通过单独的 Web 请求同时点击无状态单例的问题?他们能否同时采用相同的方法?这甚至可能吗?如果是这样,这是否意味着他们将在该方法中使用相同的局部变量?听起来很混乱,所以我假设它不可能发生。我假设方法调用永远不会被其他用户污染。

我问过很多同事这个问题,没有人知道答案。所以这是一个棘手的问题。

我关于单例的问题通常是 2 个或更多并发用户读取单例的公共属性是否有任何问题。我只对阅读感兴趣。如果属性不在锁定块内,是否有可能发生某种并发异常?或者并发、同时读取是否安全?我真的不想使用lock关键字,因为这是我不需要的性能影响。

谢谢

0 投票
3 回答
881 浏览

java - Java中的单例设计模式和单例对象有什么区别?

这是最近在一次采访中被问到的问题。据我说,通过单例模式我们可以实例化单例对象。但是,我想知道我是否正确。

0 投票
4 回答
77 浏览

swift - 如何创建像objective-c这样的实例?

通常,我会像这样创建一个类的实例:

父类:

然后在儿童班:

最后,我可以使用以下方法创建一个实例:

我如何使用 Swift 编程语言来实现这个功能?

换句话说,我怎样才能[[[self class] alloc] init]快速实现?

0 投票
1 回答
549 浏览

static - 将单例实例方法包装在静态方法中是否不好?

实现一个用静态方法包装实例方法的单例是否有弊端?

例如:

当然实例是静态的。但最好打电话:

代替: