2013-06-06 63 views
0

我使用eclipse从Oracle数据库使用POI创建excel文件。如果数据集小是没有问题的。但是,如果它是巨大的,我们有以下例外。使用poi创建excel引发异常

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

My heap setting is. -Xms512m -Xmx1024m 

如果我增加最大尺寸2048米我们得到

Could not create Java Virtual Machine. 

错误。由于

回答

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. 
+0

如果你喜欢它,你能接受答案吗? – Ashish

0

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