gpt4 book ai didi

java - 线程 "AWT-EventQueue-0"java.lang.OutOfMemoryError : Java heap space 中的异常

转载 作者:行者123 更新时间:2023-11-30 11:57:24 25 4
gpt4 key购买 nike

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)

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

-垫

最佳答案

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

因此,您可能会看到此行为,因为您的应用程序需要大于 128 MB 的堆大小...它不是从系统 JVM 的默认值中获取的,但确实在 Eclipse JVM 进程中获取。

在您的 Web Start“.jnlp”文件中,查找第一个 <j2se>元素,并添加一个 max-heap-size像这样的属性:

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

引用

http://download.oracle.com/javase/1.5.0/docs/guide/javaws/developersguide/syntax.html

关于java - 线程 "AWT-EventQueue-0"java.lang.OutOfMemoryError : Java heap space 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com