gpt4 book ai didi

java - 类作为静态变量的容器

转载 作者:行者123 更新时间:2023-12-02 03:41:47 28 4
gpt4 key购买 nike

我正在使用 Rest 和观察者设计模式在 android 中制作一个应用程序,当我执行 Rest 请求时,我会缓存响应,但其中一些响应对象我想让这些对象永久保留在内存中,直到应用程序被销毁。

所以我一直在考虑创建一个只包含公共(public)静态变量的类(有些项目使用这种类来声明常量字符串)来设置它们,然后我可以在内存中使用它。像这样的事情:

public class Memory {

public static HashMap<String, PersonDto> people;
// This object could have another complex object as ArrayList or HashMap...
public static LocationsDto locations;
...
}

我只想知道这对于我想要解决的问题来说是否是一个不好的做法。

最佳答案

这取决于这些对象的用途。最重要的方面是:是否有可能并发修改/访问?如果是这样,那么您应该实现某种同步。

如果保证在对这些对象进行任何访问之前构造这些对象,并且之后它们不会更改其状态,那么就同步问题而言,您的方法会很好。

例如,如果您的 Dto 对象是 immutable而且 HashMap 不会同时修改,所以你是安全的。如果hashmap需要支持并发访问/修改,那么看看ConcurrentHashMap .

关于java - 类作为静态变量的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762786/

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