我正在使用Java Spring ibatis
我有基于java的报告应用程序,它显示大量数据。我注意到当系统尝试处理大量数据时,它会抛出“内存不足”的情况。错误。
我知道我们可以增加内存大小,或者我们可以在报告应用程序中引入分页。 任何的想法 ?我很好奇是否有一些事情,比如列表对象是否足够大,将其拆分为内存和磁盘,以便我们不必对应用程序代码进行任何重大更改?
任何建议都表示赞赏。
答案 0 :(得分:3)
要做的第一件事应该是确切地检查导致内存不足的原因。
将以下内容添加到命令行
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/where/you/want
这将生成堆转储hprof文件。
您可以使用Eclipse Memory Analyzer Tool之类的东西来查看堆的哪个部分(如果有的话)需要增加或者是否有内存泄漏。