解决java.lang.StackOverflowError错误(栈溢出异常)

这篇具有很好参考价值的文章主要介绍了解决java.lang.StackOverflowError错误(栈溢出异常)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原因

原因1:递归导致死循环或者无限循环调用,多个实体类之间有多对一、多对多 关系时,重写toString方法的时候一定要注意,不要两个有对应关系的实体类都重写相关联属性字段的toString方法,这样会导致一直递归重写下去,内存当然会被耗尽,导致栈溢出

  • 造成我查你你查我,循环往复,就形成了递归,进而引起stackoverflow。
  • 细致的检查报错信息,找出行号的重复模式。这些重复的行号代表了被递归调用的代码。仔细审查代码,理解为何递归不终止。

原因2:栈的大小有点下导致,修改-Xss参数,这个参数可以在项目配置或命令行指定

  • 确认递归实现没有问题,再去修改-Xss参数

我的错误原因是原因1,我首先是增加的-Xss参数,后来发现还是报错,后来仔细检查,才知道是产生了死循环,所以,大家一定要检查仔细了

复现

public class StackOverflowErrorExample {
      public static void main(String args[]) {
            a();
      }
      public static void a() {
            a();
      }
}

a() 方法将无限入栈,直至栈溢出,耗尽线程栈空间,异常信息如下

Exception in thread "main" java.lang.StackOverflowError
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)
	at StackOverflowErrorExample.a(StackOverflowErrorExample.java:6)

查看博客1:https://cloud.tencent.com/developer/article/1503192
参考博客2:https://www.jianshu.com/p/e4e224b87aa3文章来源地址https://www.toymoban.com/news/detail-454127.html

到了这里,关于解决java.lang.StackOverflowError错误(栈溢出异常)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RedisTemplate使用zadd报错java.lang.StackOverflowError

    代码当中使用RedisTemplate操作String、List都是正常的,但是操作zadd就会报错,有人说是这两个依赖的版本不一致的问题,但是项目中还有其他地方要用到,所以改版本号行不通, 下面是我操作的核心代码 起初我认为是版本号不一致的问题,因为线上服务器是7.0,本地是5.0,但

    2024年01月16日
    浏览(25)
  • Handler dispatch failed; nested exception is java.lang.StackOverflowError

    错误原因代码:  检查发现在service层调用service,出现错误,因此改为调用mapper层即可。 更改后: 更改项目代码后,重新运行代码,即可正常运行。

    2024年02月09日
    浏览(37)
  • 已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!!已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!!

    已解决java.lang.NoClassDefFoundError异常的正确解决方法,亲测有效!!! java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError是Java虚拟机在运行时无法找到特定类的错误。 下滑查看解决方法 该错误通常发生在以下情况下: 编译时缺少依赖项:如果在开发过程中缺少所需的库或依赖项

    2024年02月14日
    浏览(37)
  • Mybatis批量查询,报错:Handler dispatch failed; nested exception is java.lang.StackOverflowError

    在阅读本篇文章之前,先阅读我之前写的文章: Mysql,FIND_IN_SET() 函数 与 Mybatis框架中 foreach 标签联用,解决批量数据查询问题。  ,在这篇文章中我提到 foreach 标签中的入参参数超过1000时,可能会出问题。在之后的工作中,我果然遇到了对应的Bug。 在使用Mybatis进行批量查

    2024年02月04日
    浏览(27)
  • 解决Java类加载异常:java.lang.ClassNotFoundException

    在Java开发过程中,有时会遇到类加载异常,其中之一是 java.lang.ClassNotFoundException 异常。这个异常通常出现在缺少相关依赖库或配置问题的情况下。本文将介绍如何解决这个问题,并以一个具体案例来说明。 问题描述 在开发过程中,当运行代码时,可能会遇到以下异常信息:

    2024年02月05日
    浏览(42)
  • 解决java.lang.IllegalArgumentException异常的正确解决方法

    java.lang.IllegalArgumentException 是 Java 编程语言中的一个运行时异常,通常表示向方法传递了一个不合法或不适当的参数。当程序在运行时遇到此类异常,它会立即中断当前的执行流程,并抛出异常信息。理解这个异常的原因并学会如何正确解决,对于编写健壮的 Java 程序至关重

    2024年04月25日
    浏览(50)
  • java.lang.IllegalStateException异常原因和解决

    Iterator.remove() 迭代删除 引发 1. Iterator.remove() 迭代删除 引发 场景示例 问题分析

    2024年02月16日
    浏览(30)
  • 解决java.lang.NullPointerException异常的方法

    解决java.lang.NullPointerException异常的方法 java.lang.NullPointerException异常 ava.lang.NullPointerException(NPE)是Java中最常见的运行时异常之一,通常发生在应用程序试图在需要对象的地方使用null。要解决这个问题,你需要确保在引用对象之前,该对象已经被正确初始化。 下滑查看解决方

    2024年04月25日
    浏览(34)
  • java.lang.NoSuchMethodError异常原因及解决办法

    java.lang.NoSuchMethodError异常原因及解决办法 第一种简单的情况就是本类中需要调用的方法名称错误,这种情况就需要去检查方法名称是否正确,避免调用的方法和本类中的有相同的名称。 第二种情况就是jar包的问题 可能是jar包没有导入进来或者jar包导入错误,导致出现异常。

    2024年02月11日
    浏览(31)
  • java.lang.NoClassDefFoundError异常的正确解决方法

    java.lang.NoClassDefFoundError 是 Java 运行时环境中的一个错误,表明 JVM 在运行时尝试加载一个类的定义,但未能找到。这通常发生在编译时该类是可用的,但在运行时 JVM 的类路径(classpath)上却找不到这个类。此错误不同于 ClassNotFoundException,后者通常在加载类时抛出,而 NoCl

    2024年04月25日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包