2015-05-15 48 views
0

當我嘗試導入我的主要序列化文件時,程序停止工作並拋出:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space。 我知道這個異常可能會因爲內存不足而拋出,但我不認爲這是這種情況下的原因。 在我的電腦中,我有8GB的RAM。這是Eclipse中的文件的.ini:java.lang.OutOfMemoryError:導入eclipse中的序列化文件的Java堆空間

-startup 
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 
--launcher.library 
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20150204-1316 
-product 
org.eclipse.epp.package.java.product 
--launcher.defaultAction 
openFile 
--launcher.XXMaxPermSize 
1024M 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
1024m 
--launcher.defaultAction 
openFile 
--launcher.appendVmargs 
-vmargs 
-Dosgi.requiredJavaVersion=1.6 
-Xms512m 
-Xmx7500m 
-XX:+UseConcMarkSweepGC 
-XX:-UseGCOverheadLimit 

我注意到,雖然日食可以使用幾乎所有我的電腦的內存,發生此錯誤時,所使用的RAM只是5GB的約。 我試圖導入的文件是500Mb。同一個程序適用於350Mb的許多文件。 這是代碼,其中的程序粉碎就行了,是我的程序的第一行:

Classifier cls1 = (Classifier) weka.core.SerializationHelper.read("C:\\Users\\.....\\FileToImport.model"); 

誰知道,我使用的Weka庫。 謝謝你的答案!

+0

您是否需要單一負載的完整內容? – Garry

+0

我不明白你的意思,但是我應該加載文件和使用cls1 –

回答

0

'eclipse.ini'文件爲您的程序設置Eclipse本身的內存而不是

要爲程序設置內存,請打開'運行>運行配置'對話框。在「Java應用程序」部分找到您的程序,並在「參數> VM參數」部分指定您需要的-Xmx選項。

+0

謝謝!在我發現的所有材料中,他們都建議修改文件.ini,而不是VM的參數 –

相關問題