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

 

posted @ 2017-12-14 14:31  焦距  阅读(10230)  评论(0编辑  收藏  举报