Java堆空间溢出解决方法 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

时间:2023-03-09 00:14:30
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:)
at java.util.HashMap.putVal(HashMap.java:)
at java.util.HashMap.put(HashMap.java:)
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.****.net/li2327234939/article/details/53688256