使用poi raise exception创建excel

时间:2013-06-06 07:33:30

标签: java eclipse apache-poi

我正在使用eclipse使用POI从Oracle数据库创建excel文件。如果数据集很小没问题。但如果它很大,我们就会遇到异常。

  

线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间

My heap setting is. -Xms512m -Xmx1024m

如果我将最大尺寸增加到2048米,我们就得到了

Could not create Java Virtual Machine.

错误。感谢

2 个答案:

答案 0 :(得分:2)

我认为您需要检查操作系统的容量(32位系统或64位系统)

就我的信息而言:

期望具有单个大块内存的32位JVM不能使用超过4 Gb(因为这是32位限制,也适用于指针)。这包括Sun和 - 我非常确定 - 也是IBM的实现。我不知道是否例如JRockit或其他人拥有32位实现的大内存选项。

如果您希望达到此限制,则应强烈考虑为生产环境启动并行跟踪验证64位JVM,以便在32位环境出现故障时做好准备。否则你将不得不在压力下做这项工作,这永远不会很好。

Extra information:
On normal consumer versions of Windows, the limit is 2GB 
which is equivalent to 2048M. On Linux and server versions 
of Windows (32-bit) 
the limit is 3GB per process.

答案 1 :(得分:0)

我根据指南from解决了这个问题。