java.lang.OutOfMemoryError:在eclipse中导入序列化文件的Java堆空间

时间:2015-05-15 14:47:30

标签: java eclipse serialization weka

当我尝试在我的main中导入一个序列化文件时,程序停止工作并抛出:SELECT q1.[rjvn_pound_reference] ,q1.t_reference ,q1.t_street_name ,q1.t_zone_name ,( CASE WHEN q1.CorrespondenceReceived = 1 THEN 'Y' ELSE 'N' END ) CorrespondenceReceived ,( CASE WHEN q1.REVIEWFORMCOMPLETE = 1 THEN 'Y' ELSE 'N' END ) REVIEWFORMCOMPLETE ,( CASE WHEN q1.ManuallyissuedNTO = 1 THEN 'Y' ELSE 'N' END ) ManuallyissuedNTO ,( CASE WHEN q1.ManuallyissuedNTK = 1 THEN 'Y' ELSE 'N' END ) ManuallyissuedNTK ,( CASE WHEN q1.finalReminderSent = 1 THEN 'Y' ELSE 'N' END ) finalReminderSent FROM ( SELECT [rjvn_pound_reference] ,t_reference ,t_street_name ,t_zone_name ,MAX(CASE WHEN rjvn_note LIKE '%CORRESPONDENCE%' THEN 1 ELSE 0 END) AS CorrespondenceReceived ,MAX(CASE WHEN rjvn_note LIKE '%review form complete%' THEN 1 ELSE 0 END) AS REVIEWFORMCOMPLETE ,MAX(CASE WHEN rjvn_note LIKE '%Manually issued NTO - Drive off%' THEN 1 ELSE 0 END) AS ManuallyissuedNTO ,MAX(CASE WHEN rjvn_note LIKE '%Manually issued NTK - Drive Off%' THEN 1 ELSE 0 END) AS ManuallyissuedNTK ,MAX(CASE WHEN rjvn_note LIKE '%Drive off- Final reminder sent%' THEN 1 ELSE 0 END) AS finalReminderSent FROM [ICPS].[dbo].[removal_job_vehicle_notes] AS a INNER JOIN tickets t ON (a.rjvn_pound_reference = t.t_number) INNER JOIN dbo.ticket_hold_record thr ON (t.t_number = thr.thr_system_ref) WHERE thr_hold_type = '2207555' AND t.t_contract IN ( '18' ,'1' ) GROUP BY [rjvn_pound_reference] ,t_reference ,t_street_name ,t_zone_name ) q1 。 我知道由于缺乏记忆而可以抛出这个异常,但我不认为这是这种情况的原因。 在我的电脑中,我有8GB的RAM。这是Eclipse的文件.ini:

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

我注意到虽然eclipse几乎可以使用我的电脑的所有内存,但是当发生此错误时,使用的RAM大约只有5Gb。 我尝试导入的文件是500Mb。同样的程序适用于350Mb的许多文件。 这是程序崩溃的代码行,是我程序的第一行:

-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

谁知道,我正在使用Weka库。 谢谢你的答案!

1 个答案:

答案 0 :(得分:0)

'eclipse.ini'文件为Eclipse本身设置内存你的程序。

要设置程序的内存,请打开'运行>运行配置'对话框。在Java Application部分中找到您的程序,并在'Arguments>中指定所需的-Xmx选项。 VM参数'部分。