在时间如此紧张的情况下,对于这个异常的处理,我几乎崩溃,但最终还是解决了问题,回顾解决之路,比较坎坷,虽然时间并不算长,但解决的路子却没有任何章法,模糊的思路,到处尝试,四处问药。
一开始以为设置JVM的内存就可以解决的,于是在运行Ant脚本中设置,这一步,我走的太虚幻 ,我设置JAVA_OPTS=-Xmx1024M,之后都没有验证是否设置成功,只是盲目的尝试来运行我的目标脚本,失败,随之选择别的路子:路子也就那么几种:问别人、自己思考尝试,上网搜索,查询网上文档,当在这些路子之间来回切换,对于问题仍然于事无补的时候,我显得很着急,很无助,我思路已经有点乱了 。于是也想,不能靠瞎蒙来解决问题了,于是整理一下思路,既然我设置了JVM内存,就需要验证一下内存是否设置成功,直接调用Runtime.getRuntime().maxMemory()/(1024*1024)+"M"即可验证,验证以后,我的解决之路稳了一些,虽然设置成功了bat文件运行ANT的JVM内存,但是仍然没有解决我的问题,这设置的是运行ANT的JVM内存,而我运行的是ANT的一个target--emmajava,这个Target运行使用的JVM并没有设置,所以想通过这个target的属性来设置,查询网上API,文档,没有发现可以设置的地方,最后在无疑中发现了<jvmarg..>标签,于是尝试:
解决方案:<jvmarg value="-Xmx1024M" />,运行,成功解决了异常。
没有任何章法,没有理想思考,没有踩实每一步的解决进展之路 ,这些都是没有很快解决这个问题的原因。
在Eclipse中,配置JVM内存:
在 Run Confiugration 中, JVM Argument 中设置: -Xmx512M
内存溢出的解决办法汇总:
1. 改进程序,让程序使用更少的内存
2.设置JVM参数中最大内存