gpt4 book ai didi

java - 在Singleton中使用列表作为简单的内存缓存/数据库(Java)

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:40 25 4
gpt4 key购买 nike

想象一个简单的Java应用程序作为TCP客户端,并且需要保存一个活动/在线用户列表。 (收到特定消息后删除/更新/添加用户)

我的第一个快速想法是仅使用CopyOnWriteArrayList(或类似实例)的实例和CRUD-Operations的方法来实现同步单例,然后将其用于需要读取/操作此信息的所有类中。

没有基于磁盘的持久性的要求(应用重启时数据可能会丢失)

尽管Singleton模式始终显示为反模式-我将对意见/替代方案特别感兴趣,特别是有关干净的OO设计,可伸缩性和并发性的意见/替代方案,而无需使用第三方库/框架或即用型内存解决方案。

最佳答案

@JB Nizet:感谢您的思想支持。用依赖注入替换Singleton似乎是最好的解决方案。

终于找到了https://codeahoy.com/2016/05/27/avoid-singletons-to-write-testable-code/。本文清楚地回答了我的问题。

关于java - 在Singleton中使用列表作为简单的内存缓存/数据库(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49829328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com