Java堆空间溢出解决方法 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
一般通过java -jar filename.jar运行jar包,但是当运行的java程序需要较大的内存时,可能会造成堆空间溢出。
例如,加载了几个G大小的json文件,运行报错:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.resize(HashMap.java:703) at java.util.HashMap.putVal(HashMap.java:662) at java.util.HashMap.put(HashMap.java:611) at org.json.simple.parser.JSONParser.parse(Unknown Source)
这时候可以在执行命令的时候指定jvm的运行内存大小:
$ java -jar -Xms1024m -Xmx10240m filename.jar
Xms:表示jvm所需最小内存
Xmx:表示jvm所需最大内存
可以根据需要调整设置
参考:
https://www.cnblogs.com/svennee/p/4081149.html
http://blog.csdn.net/li2327234939/article/details/53688256