我们正在尝试缓存数据库选择的结果(在哈希图中),因此我们不必多次执行它们。并且每当我们更改数据库时,为了获得应用程序中的更改,我们添加了刷新列表功能。

现在我们要提取的列表数量很大,因此从数据库加载选择列表花费了太多时间。

所以我对这个问题有一些疑问:


我如何找出列表使用了多少内存? (我使用的方法是,我们使用垃圾收集器来收集内存并计算差异,但是列表很多,因此花费了太多时间)
如何优化刷新列表?


谢谢您的帮助。

最佳答案

我如何才能找到列表使用了多少内存



JProfiler
VisualVM



  我如何优化刷新列表。


确保您使用的数据类型正确。
看看here

还可以查看Guava collections



最后一件事,ignis建议您不要使用System.gc()是正确的,这可能就是您遇到性能问题的原因。 This是为什么。

关于java - 我怎么知道我的缓存对象正在使用多少内存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6198639/

10-11 01:18
查看更多