导致内存不足的Java大列表对象

时间:2014-10-17 14:43:26

标签: java list collections out-of-memory

我正在使用Java Spring ibatis

我有基于java的报告应用程序,它显示大量数据。我注意到当系统尝试处理大量数据时,它会抛出“内存不足”的情况。错误。

我知道我们可以增加内存大小,或者我们可以在报告应用程序中引入分页。 任何的想法 ?我很好奇是否有一些事情,比如列表对象是否足够大,将其拆分为内存和磁盘,以便我们不必对应用程序代码进行任何重大更改?

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:3)

要做的第一件事应该是确切地检查导致内存不足的原因。

将以下内容添加到命令行

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/where/you/want

这将生成堆转储hprof文件。

您可以使用Eclipse Memory Analyzer Tool之类的东西来查看堆的哪个部分(如果有的话)需要增加或者是否有内存泄漏。