问题
代码里想初始化一个1G左右的字符串,但报:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
具体错误如下图:

解决办法:
1、在idea的bin目录下找到idea64.exe.vmoptions,编辑:
-Xms1024m
-Xmx4096m
具体如下图:


2、重新启动idea,修改运行配置里的vm参数:-Xmx4096m

3、查询xms和xmx值:
System.out.println("Xmx:"+Runtime.getRuntime().maxMemory()/1024/1024+"M");
System.out.println("Xms:"+Runtime.getRuntime().totalMemory()/1024/1024+"M");
可以看到实际最大可用内存略小于Xmx,说明配置生效。
解决Java初始化大字符串时的内存溢出问题
当尝试初始化一个1G左右的字符串时,遇到了`OutOfMemoryError:Javaheapspace`异常。为了解决这个问题,可以通过增大IDEA的JVM内存设置,如编辑`idea64.exe.vmoptions`文件,将`Xms`和`Xmx`设置为更大值,如1024m和4096m。之后,确认设置生效,通过运行时查询Xms和Xmx的值来验证内存配置是否已更改。
1761

被折叠的 条评论
为什么被折叠?



