“线程中的异常”;AWT-EventQueue-0“;java.lang.OutOfMemoryError:java堆空间 线程“AWT-EventQueue-0”java.lang.OutOfMemoryError中的异常:java堆空间 位于java.awt.image.DataBufferInt。(未知源) 位于java.awt.image.graster.createPackedRaster(未知源) 位于java.awt.image.DirectColorModel.createCompatibleWritableRaster(未知源) 位于java.awt.image.buffereImage。(未知源) 位于sun.java2d.loops.GraphicsPrimitive.convertFrom(未知源) 位于sun.java2d.loops.GraphicsPrimitive.convertFrom(未知源) 位于sun.java2d.loops.MaskBlit$General.MaskBlit(未知源) 位于sun.java2d.loops.Blit$GeneralMaskBlit.Blit(未知源) 位于sun.java2d.pipe.DrawImage.blitSurfaceData(未知源) 位于sun.java2d.pipe.DrawImage.renderImageCopy(未知源) 位于sun.java2d.pipe.DrawImage.copyImage(未知源) 位于sun.java2d.pipe.DrawImage.copyImage(未知源) 位于sun.java2d.pipe.validatePie.copyImage(未知源) 位于sun.java2d.SunGraphics2D.drawImage(未知源)

“线程中的异常”;AWT-EventQueue-0“;java.lang.OutOfMemoryError:java堆空间 线程“AWT-EventQueue-0”java.lang.OutOfMemoryError中的异常:java堆空间 位于java.awt.image.DataBufferInt。(未知源) 位于java.awt.image.graster.createPackedRaster(未知源) 位于java.awt.image.DirectColorModel.createCompatibleWritableRaster(未知源) 位于java.awt.image.buffereImage。(未知源) 位于sun.java2d.loops.GraphicsPrimitive.convertFrom(未知源) 位于sun.java2d.loops.GraphicsPrimitive.convertFrom(未知源) 位于sun.java2d.loops.MaskBlit$General.MaskBlit(未知源) 位于sun.java2d.loops.Blit$GeneralMaskBlit.Blit(未知源) 位于sun.java2d.pipe.DrawImage.blitSurfaceData(未知源) 位于sun.java2d.pipe.DrawImage.renderImageCopy(未知源) 位于sun.java2d.pipe.DrawImage.copyImage(未知源) 位于sun.java2d.pipe.DrawImage.copyImage(未知源) 位于sun.java2d.pipe.validatePie.copyImage(未知源) 位于sun.java2d.SunGraphics2D.drawImage(未知源),java,java-web-start,out-of-memory,Java,Java Web Start,Out Of Memory,我从生产环境加载Web start应用程序时收到此错误消息。 当我从eclipse加载相同的生产代码时,上面的错误“java.lang.OutOfMemoryError:java堆空间”消失,一切正常。 原因可能是什么,为什么它在eclipse中工作而不是在单机版中工作 -PadJava的默认堆大小(至少在我上次研究它时)是128MB。Eclipse的最新版本(即Helios)被设置为以512 MB的默认堆大小运行。(请参阅eclipse基本路径中的eclipse.ini文件) 因此,您可能会看

我从生产环境加载Web start应用程序时收到此错误消息。 当我从eclipse加载相同的生产代码时,上面的错误“java.lang.OutOfMemoryError:java堆空间”消失,一切正常。 原因可能是什么,为什么它在eclipse中工作而不是在单机版中工作

-Pad

Java的默认堆大小(至少在我上次研究它时)是128MB。Eclipse的最新版本(即Helios)被设置为以512 MB的默认堆大小运行。(请参阅eclipse基本路径中的
eclipse.ini
文件)

因此,您可能会看到这种行为,因为您的应用程序需要大于128 MB的堆大小。。。它不是从系统JVM的默认值中获得的,而是在EclipseJVM进程中获得的

在Web Start“.jnlp”文件中,查找第一个
元素,并添加一个
max heap size
属性,如下所示:

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
                at java.awt.image.DataBufferInt.<init>(Unknown Source)
                at java.awt.image.Raster.createPackedRaster(Unknown Source)
                at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
                at java.awt.image.BufferedImage.<init>(Unknown Source)
                at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
                at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
                at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
                at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Unknown Source)
                at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
                at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
                at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
                at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
                at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
                at sun.java2d.SunGraphics2D.drawImage(Unknown Source)

参考文献

eclipse中的默认最大堆大小设置可能与java webstart的默认设置不同。
通过添加以下标记,可以编辑jnlp描述符以提供最大堆大小参数:

<j2se version="1.3" initial-heap-size="256m" max-heap-size="512m"/>

您确实没有提供足够的信息让我们开始解决您的问题。也许一些代码是合适的?
<j2se version="1.4+" max-heap-size="512m"/>