线程“main”java中出现异常。lang.OutOfMemoryError:eclipse上的Java堆空间
我正在尝试使用fork和join框架来执行这个program。当我将较小尺寸的JPEG图像馈送到此程序时,它工作正常,但当我将大于4 MB的图像馈送到此程序时,它会抛出以下异常:
****Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at ForkBlur.blur(ForkBlur.java:120)
at ForkBlur.main(ForkBlur.java:110)****
我正在使用EclipseHeliosIDE
我希望它能为大于50MB的大图像工作
# 1 楼答案
这对我很管用
右键单击要运行的项目。运行方式->;运行配置->;争论
然后VM中的参数:
-Xmx1g
# 2 楼答案
您需要告诉JVM为您的程序留出更多内存。如果从命令行运行程序,您将使用
-mx
选项指定允许JVM使用的内存量例如,要允许128MB内存,您可以执行以下操作:
如果从Eclipse Helios运行,请执行以下操作:
properties
李>Run/Debug Settings
李>Edit
或单击New
以使用Java Application
配置类型创建一个李>Arguments
选项卡上,将-mx128M
放在VM参数框中李># 3 楼答案
运行程序时,需要指定更大的堆大小
如果eclipse是您的首选工具,那么您可以通过eclipse来实现。您可以右键单击包含main方法的文件,选择选项“runas”-这将打开一个对话框,您可以在其中设置命令行选项的宿主(查找参数部分)
配置最大堆大小的命令行选项是Xmx;例如,xmx2g将最大堆大小设置为2GB