从文件导入JasperPrint时出现OutOfMemoryError

时间:2014-06-30 14:26:40

标签: java jasper-reports out-of-memory

我在java中使用jasper报告(xmx = 4096m)。我使用JRGzipVirtualizer从PGSQL数据库创建了一个包含200,000行的大型报告。在内存中,虚拟器占用大约700MB空间。通过ObjectOutputStreamJasperPrint对象存储在文件中。它创建了一个2.9GB的文件。

当我尝试通过ObjectInputStream阅读时,它会抛出OutOfMemoryError

我的猜测是gzipvirtualizer正在压缩数据,因此它可以驻留在内存中。但是当存储在文件中时,它不会被压缩。因此,在阅读时,它会尝试读取大量未压缩的数据。

我可以以某种方式让它写出压缩的东西或者解决它。

1 个答案:

答案 0 :(得分:1)