这是内存溢出还是什么?第一次见,初学者

img

遍历代码出现以下的报错
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.lang.Integer.toString(Integer.java:403)
at java.lang.String.valueOf(String.java:3099)
at cn.itcast.jvm.t1.stringtable.Demo1_6.main(Demo1_6.java:18)

1.内存不足:由于 Java 应用程序需要运行时存在的对象非常多,Java 堆空间很容易满,导致垃圾回收频繁触发。如果内存不足,垃圾回收器需要更频繁地执行垃圾回收操作,但是由于堆内存已经无法扩展,所以垃圾回收最终失败。

2.GC 参数配置不当:如果垃圾回收器的参数配置不合适,可能会导致垃圾回收效率低下,从而导致 "GC overhead limit exceeded" 异常。

3.长时间停顿:在一些特殊情况下,如 Full GC 或 Major GC 等操作,垃圾回收器需要暂停应用程序的执行,这可能会导致应用程序长时间阻塞而无法正常运行。
可以用
-Xmx大小 -XX:-UseGCOverheadLimit

+

这个就是内存溢出,GC的时候导致的。具体可以参考这个 https://zhuanlan.zhihu.com/p/429066097

你可以把你代码贴出来,看下具体原因

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^