微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 java 存储聊天消息对象的最佳集合是什么?

如何解决使用 java 存储聊天消息对象的最佳集合是什么?

我想将聊天消息存储在 arraylist 集合中,但我听说这是一种不好的做法,因为存储在内存中的 arraylist 的方式意味着每次向 arraylist 添加消息时,它都会重新创建一个新消息并发送旧的arraylist 到垃圾收集?那么做这项工作的最佳收藏是什么?任何人都可以有一个很好的来源来了解内存收集如何存储在内存中?

解决方法

存储在内存中的arraylist意味着每次向arraylist添加消息时,它都会重新创建一个新的并将旧的arraylist发送到垃圾收集

不正确。每次将元素添加到 action 时,该过程不会发生。

只有当您将内部数组填充到其容量时才会发生该过程。达到限制后,将创建一个新的更大的数组,并复制旧内容。

此外,发送到垃圾收集的不是 ArrayListArrayList 在内部管理新旧数组。内部管理的旧数组进入垃圾收集。

您可以通过明智地设置 ArrayList 的初始容量来避免或最小化此数组替换过程。如果您知道需要少于一千个元素,请将初始容量设置为该限制:

ArrayList

正如其他人评论的那样,您没有提供足够的要求来推荐存储聊天消息的策略。您需要解释大小、数量、流失、持久性、并发性等。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。