当我尝试在我的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库。 谢谢你的答案!
答案 0 :(得分:0)
'eclipse.ini'文件为Eclipse本身设置内存不你的程序。
要设置程序的内存,请打开'运行>运行配置'对话框。在Java Application部分中找到您的程序,并在'Arguments>中指定所需的-Xmx选项。 VM参数'部分。