编写了一个bat文件,用来执行一个java应用程序,使用这个bat文件执行时发生报错,报内存溢出【Exception in thread "main" java.lang.OutOfMemoryError: java heap space】。如果是在在Eclipse中直接用java application 执行程序的话是不会报错的,因为我在Eclipse中将jvm heap大小设置为1G了,所以不会报错。但是这个bat文件执行时不知道怎么设置它运行此程序所需要的内存,所以导致内存不足了。请问各位大神,使用bat文件运行时该如何设置jvm内存大小。下面是报错的具体信息:
Exception in thread "main" java.lang.OutOfMemoryError: java heap space
at java util.Calendar.createCalendarCalendar.java:1006
at java util.Calendar.getInstanceCalendar.java:943
at callservices.UploadData.loadPsnInfoUploadData.java:456
at callservices.UploadData.mainUploadData.java:125
java -Xms1024m -Xmx1024m -XX:PermSize=96M -classpath.......
可以参考tomcat的catalina.bat文件设置jvm参数
bat脚本里执行java命令的地方加参数呗
java -Xmx1024m -Xms1024m .......
如果报错java heap space 多半原因是因为代码不严谨,建议还是多检查代码,看是否有死循环或其他不合理的地方,改参数大小是最后考虑办法