今天弄完了一个java项目,弄完后用exe4j打成了exe可执行程序,一运行,没反应了,石沉大海似的。而实际上,我这个项目是一定可以运行的呀(用MyEclipse跑了不知道多少遍),于是添加日志,跑完了打开一看,内存溢出,也就是常见的这个:java.lang.OutOfMemoryError: Java heap space。网上查资料说是直接修改VM的参数就成,也就是如图的文本框里的信息,像修改MyEclipse里面的VM一样加大内存量:
网上总共找到三种方法:
第一种:-J-Xmx512m
借鉴于“Allow VM。。。”那一行写的,设置为 -J-Xmx512m,一跑还是溢出,设置成1024还是不行,可见这么设置不行,PASS掉。
第二种:-XX:PermSize=512M -XX:MaxPermSize=1024M
参考MyEclipse中设置VM的方式,设置成-XX:PermSize=512M -XX:MaxPermSize=1024M,再一跑,还是没戏,也pass。
第三种:添加文件。
a、删除上图中文本框中的数据,勾选“Allow VM ....”的复选框;
b、假设打成的可执行程序名称为a.exe,在它的同级目录下新建文件a.exe.vmoptions;
c、a.exe.vmoptions文件的内容为:
-Xms256m
-Xmx512m
d、重启exe执行程序。
这次正常了,没有再报错,问题解决。