gpt4 book ai didi

java - 删除 Hashtable 的内容或只是实例化一个新的 Hashtable?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:58 28 4
gpt4 key购买 nike

我有一个响应移动的应用程序。

监听器似乎在一个 Action 中被调用多次,即如果我将应用程序从监视器的一部分拖到另一部分。

发生这种情况时,我将一些数据存储到哈希表中。每次存储数据时,我都需要存储到一个空的 Hashtable 中。

每次都删除 Hashtable 的内容会更好还是我可以只实例化一个新的 Hashtable(使用相同的变量)?哈希表将包含不超过 5 个键/值对。

后一种方法会开始消耗过多内存,还是 Java 垃圾收集器会足够快地释放这些内存?

最佳答案

除了选择不可变还是可变 Map 之外,您还需要在

  • 是否希望每次更改都立即在 HashMap 中可见
  • 或者您可以将更改事件写入队列并定期将它们刷新到 HashMap,这将确保您的 HashMap 不会像第一种解决方案那样频繁写入,并且可以为您带来性能优势 + 响应能力(放入队列是比放入 HashMap 更轻的操作)。

我建议您继续尝试这两种方法,分析然后找出答案。

必须优先考虑代码的清晰度和可理解性。如果更清晰的方法(这里使用不可变的 HashMap)的性能影响不是难以忍受,那么就去做吧。

关于java - 删除 Hashtable 的内容或只是实例化一个新的 Hashtable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38908988/

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