首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java.lang.OutOfMemoryError终极解决方法

2014-01-26 
我做的是JAVA 画图软件,主要是加载背景图时,出的这个java.lang.OutOfMemoryError异常,但客户的图片很大,8M

我做的是JAVA 画图软件,主要是加载背景图时,出的这个java.lang.OutOfMemoryError异常,但客户的图片很大,8M多,怎么解决,谢谢大家.

------解决方法--------------------------------------------------------
java默认的情况下是设定的heapsize的,不同的vendor(例如sun,ibm,bea)的默认值各不同,但是都可以通过设置来实现。不知道你现在设置的是什么?但是你可以在启动参数中加 -Xms256M -Xmn256M -Xmx512M等来设置。例如你的程序已经打包为一个 graph.jar 那么就可以用java -jar -Xms256M -Xmn256M -Xmx512M graph.jar来运行,已得到更多的系统内存来支持你的应用。

------解决方法--------------------------------------------------------
可以在系统环境变量中设置jvm的启动内存,一般的服务器中使用的都是系统默认的。
而且web服务器都是可以手动设置的启动内存的。
------解决方法--------------------------------------------------------
Error是捕获不到的,可以使用设置启动内存设置内存大小

------解决方法--------------------------------------------------------
用-Xmx是可以提高vm的内存,不过内存溢出大多都是你自己程序写的有问题java也会内存泄漏的!我们编写百万级别用户访问程序都不会内存溢出,你写的程序肯定有问题,加大内存也许解决了你的问题,但是实际上面你的程序我估计不值得去加大内存就可以解决!好好看看你的程序吧
------解决方法--------------------------------------------------------
<j2se version= "1.4+ " initial-heap-size= "128m " max-heap-size= "256m "/>
------解决方法--------------------------------------------------------
我的JDK如下:
java version "1.6.0-beta2 "
Java(TM) SE Runtime Environment (build 1.6.0-beta2-b86)
Java HotSpot(TM) Client VM (build 1.6.0-beta2-b86, mixed mode, sharing)

第一步: 在命令行输入:javaws -viewer

接着弹出'Java 控制面板'窗口,点'Java'选项卡,再点最上面那个'查看...'按钮
然后会弹出'Java Runtime 设置'窗口,用鼠标点'Java Runtime 参数'下面的输入框
在里面输入'-Xms256m -Xmx512m'之类的参数,然后按'确定'按钮就可以了。


上面的方法不行的话,检查您的程序是否有问题,8M的图片不算大。

另外的细节请查看javaws命令的详细参数,
还有JDK的文档
docs/technotes/tools/index.html#javaws

------解决方法--------------------------------------------------------
在jnlp里面设置。
------解决方法--------------------------------------------------------
要是您只是简单的用jar命令把所有的class文件打包成.jar文件,
且生成的.jar文件中有'Main-Class'这一项,并且只是用鼠标
双击生成的.jar文件来启动程序,这种方式严格来说不算是Java Web Start的。
其实只是javaw的功能而已。         

热点排行