问题描述:
最近用IDEA从仓库clone了一个项目,在实际run单测时发现IDEA一直报错误,一开始报的错误是java.lang.OutOfMemoryError: Java heap space,上网一查说是说堆内存太小,堆内存空间不足以存放新创建的对象。于是对应去修改了IDEA的堆内存:Help----->change memory settings,然后重启IDEA,但是发现问题并没有解决,还是报错误.
不过错误发生了一点变化,显示:
java.lang.OutOfMemoryError: GC overhead limited exceeded
上网查询对应错误解释说是:程序中被占用的内存,经过多次长时间的GC操作都无法回收,导致内存泄漏。看到这个我一下突然怀疑起了是不是自己代码写的有问题,但是clone下来的代码自己只修改了一点点,应该不至于出问题。
原因分析:
在我反复思考不理解问题出在哪的时候,我突然发现在我一点run的时候,报错是直接出来在第一行的,而此时程序代码都没有开始加载运行。这说明错误与代码没有关系,而很可能是编译时的错误,再结合两种错误都是属于OutOfMemoryError问题,因此很自然想到是编译内存不足的问题。
解决方案:
于是问题的解决也就顺其自然了,首先找到设置IDEA编译器堆内存的地方,然后将heap size,然后再重新run项目,果然可以运行了。

1万+

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



