天天看点

matlab java错误_[转载]matlab的java.lang.OutOfMemoryError错误

这几天用MATLAB7.0做数字图像水印时,出现matlab的java.lang.OutOfMemoryError错误。后面通过查阅资料,可以用以下方法来解决。

此错误表明:Java虚拟机内存不够用了.可以增加最大内存设置.

1.

查找matlab根路径.在matlab命令行中敲入:matlabroot

显示根路径,如:C:MATLAB7

2.查看当前Java虚拟机最大堆内存,

敲入:java.lang.Runtime.getRuntime.maxMemory

3.查看Java虚拟机版本.敲入:version -java

4.在 $MATLABbin$ARCH

路径下新建java.opts文件.

$MATLAB是根路径,例如C:MATLAB7

$ARCH是系统架构.例如win32,则在C:MATLAB7binwin32下新建java.opts文件.

5.用记事本打开java.opts文件,

对于版本是1.2到1.5的Java虚拟机,输入:

-Xmx268435456

对于版本是1.1.8的JVM,输入

maxHeapSize = 268435456

保存.

这里268435456是新设置的JVM的最大堆内存.可以改成其他值.

6.

重启matlab,敲入java.lang.Runtime.getRuntime.maxMemory

显示最大内存改变,设置成功.