0


解决idea出现的java.lang.OutOfMemoryError: Java heap space的问题

文章目录

1. 复现问题

今天使用

idea

开发时,突然报出如下错误:

在这里插入图片描述

Exception in thread "main"java.lang.OutOfMemoryError:Java heap space
    at org.apdplat.word.dictionary.impl.DoubleArrayDictionaryTrie.allocate(DoubleArrayDictionaryTrie.java:188)
    at org.apdplat.word.dictionary.impl.DoubleArrayDictionaryTrie.init(DoubleArrayDictionaryTrie.java:207)
    at org.apdplat.word.dictionary.impl.DoubleArrayDictionaryTrie.addAll(DoubleArrayDictionaryTrie.java:307)
    at org.apdplat.word.dictionary.DictionaryFactory$DictionaryHolder$1.load(DictionaryFactory.java:116)
    at org.apdplat.word.util.AutoDetector.loadAndWatch(AutoDetector.java:102)
    at org.apdplat.word.dictionary.DictionaryFactory$DictionaryHolder.reload(DictionaryFactory.java:87)
    at org.apdplat.word.dictionary.DictionaryFactory.reload(DictionaryFactory.java:65)
    at org.apdplat.word.dictionary.DictionaryEnum.createDictionary(DictionaryEnum.java:65)
    at org.apdplat.word.dictionary.DictionaryEnum.<clinit>(DictionaryEnum.java:20)
    at com.zjs.Application.main(Application.java:42)

2. 分析问题

OutOfMemoryError

翻译成中文即是

堆内存溢出

,但什么情况下会出现堆内存溢出呢?

当我们在

IDEA

上运行较大项或较多项目时,会导致编译量很大,从而引起内存不足的情况,即报出

Error:java: java.lang.OutOfMemoryError: Java heap space

的错误,也就是堆内存溢出。

因此,需要修改

Idea

运行项目的内存大小。

  1. 首先,查看我的idea的堆内存大小。

快捷键

ctrl + alt + s

出现设置(

Settings

)弹出框,如下图所示:

在这里插入图片描述

  1. 找到Build,Execution,Deployment ,单击展开,如下图所示:

在这里插入图片描述

  1. 单击Complier,即可查看到我的堆内存大小,如下图所示:

在这里插入图片描述

由图可以看出,我的堆内存大小256M,无法承载我的项目,即报出了

java.lang.OutOfMemoryError: Java heap space

此外,如果你的

ctrl + alt + s

快捷键被占用了,可以使用如下方式打开

设置(Settings)弹出框

  • 单击file,如下图所示:

在这里插入图片描述

  1. 单击Settings,也可出现设置(Settings)弹出框

在这里插入图片描述

3. 解决问题

由上述分析可知,正因为在

Complier

设置的堆内存太小,导致无法承载大量的项目。

因而,我们可以将其设置为

2048

,如下图所示:

在这里插入图片描述

点击

ok

即可。

**如果不点击

ok

,则配置不生效。**

4. 补充解决java.lang.OutOfMemoryError: PermGen space问题

JDK1.6

环境中,需要考虑到永久代的问题。

如果运行大项目提示

java.lang.OutOfMemoryError: PermGen space 

即永久代内存溢出问题 ,解决方式如下:

  1. 打开Tomcat配置Edit Configurations

在这里插入图片描述

  1. 点击Server,在VM options输入框输入如下配置
-Xms512m-Xmx2048m-XX:PermSize=512m 
-XX:MaxPermSize=2048m

在这里插入图片描述

点击

ok

即可。

**如果不点击

ok

,则配置不生效。**

  1. 参数说明:- -XmsJava Heap初始值,ServerJVM最好将-Xms-Xmx设为相同值,开发测试机JVM可以保留默认值- -XmxJava Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定- -XX:PermSize:设置持久代初始值- -XX:MaxPermSize:设置持久代最大值

**总之是要根据

本地配置

适当修改,我是

16G

内存,就设置最大

2G

大气一点!**


本文转载自: https://blog.csdn.net/lvoelife/article/details/128999000
版权归原作者 互联网全栈开发实战 所有, 如有侵权,请联系我们删除。

“解决idea出现的java.lang.OutOfMemoryError: Java heap space的问题”的评论:

还没有评论