Java应用程序的内存占用量

7
在我们的应用程序中,我们允许用户通过Excel工作表上传/下载数据,并使用Apache POI读写这些Excel工作表。
我们计划将所有xls工作表迁移到xlsx,但在此过程中得知,通过Apache POI使用XSSF(针对xlsx)的内存占用量显着高。

因此,我们想要进行压力测试,并验证转换为xlsx是否会给我们带来频繁的OutOfMemory异常。 有什么提示可以告诉我们如何在使用较大的Excel(xlsx)文件进行压力测试时有效地记录内存占用量。

谢谢!


可能是这个帖子的重复。该帖子中提到了许多推荐的分析工具。 - Vineet Reynolds
2个回答

5
一种简单的方法是使用类似于 jconsole 或者随 JVM 一起提供的 jvisualvm 这样的工具手动监控内存消耗。您也可以定期使用 runtime API 来测量内存消耗。

4
如@Johan所提到的,您可以使用分析器或利用maxMemorytotalMemoryfreeMemory这些方法的组合来检测内存情况。如果这些结果表明内存占用确实是一个问题,那么Apache POI为XSSF提供了另一种选择,其内存占用更小。虽然它更难使用,因此我不建议在没有分析结果的情况下使用它,但它可能会有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接