2013-06-06 157 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解決了這個問題。