线程“AWT-EventQueue-0"中的异常java.lang.OutOfMemoryError:Java 堆空间 [英] Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

查看:77
本文介绍了线程“AWT-EventQueue-0"中的异常java.lang.OutOfMemoryError:Java 堆空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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 中工作而不是在独立中工作.

Iam getting this error message when I load the Web start application from production. When I load the same production code from eclipse, the above error "java.lang.OutOfMemoryError: Java heap space" disappear and everything works fine. What could the reason, why it is working in eclipse and not in standalone.

-垫

推荐答案

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

Java's default heap size (at least last time I researched it) is 128 MB. The latest version of Eclipse (i.e. Helios) is set to run with a default heap size of 512 MB. (see the eclipse.ini file in your Eclipse base path).

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

Therefore, you are probably seeing this behavior because your application needs a heap size greater than 128 MB... which it doesn't get from your system JVM's defaults, but DOES get within the Eclipse JVM process.

在您的 Web Start ".jnlp" 文件中,查找第一个 <j2se> 元素,并添加一个 max-heap-size 属性,如下所示:

In your Web Start ".jnlp" file, look for the first <j2se> element, and add a max-heap-size attribute like this:

<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

这篇关于线程“AWT-EventQueue-0"中的异常java.lang.OutOfMemoryError:Java 堆空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆