debug中突然遇到这个问题,以前看书的时候常常看见作者写到,StackOverFlow问题是实际数据操作中经常遇到的问题,但是自己一直没有遇到过,然后今天终于遇到了,虽然是debug中希望显示数据内容的时候的报错信息,但是终归对于这个问题有了一定的实际操作层面的理解。

StackOverFlow问题,顾名思义是栈溢出的意思,Java虚拟机在实际调用方法时会设置最大栈深度,个人理解,这是为了控制程序暴走的一种安全措施,因为如果放任其继续暴走可能会直接占用满所有内存之类的后果。一般时候,程序的运行是不会造成这个问题。

那么我所遇到的这个问题是由什么原因造成的呢?
因为实例之间的互相引用!

我采取了一种数据结构,采用的多叉树的感觉设置的,子节点含有了父节点的引用,父节点含有了子节点的引用。问题就因此而诞生了,因为Debugger会调用对象的toString()方法以显示对象中的所有数据信息。然后,我的所有对象都默认重写了toString()方法,使用Gson来将其序列化,以便于数据的传输和还原。问题就出在这里,这意味着程序会不断地调用父节点和子节点的toString()方法,永不停止,自然就造成了StackOverFlow的问题。

解决思路也相当简单,在类中重写toString()方法即可,避免这种循环调用的产生。

Method threw 'java.lang.StackOverflowError' exception. Cannot evaluate 问题相关推荐

  1. 解决 idea Method threw ‘java.lang.NoClassDefFoundError‘ exception. Cannot evaluate xxx toString 问题

    问题: Method threw 'java.lang.NoClassDefFoundError' exception. Cannot evaluate com.tianque.datagroup.d ...

  2. Method threw ‘java.lang.NullPointerException‘ exception. Cannot evaluate com.sun.proxy.xxx

    我在debug的时候发现会出现 Method threw 'java.lang.NullPointerException' exception. Cannot evaluate com.sun.pro ...

  3. Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.json.JSONObject.toSt...

    异常: Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.json.JSONObject.toS ...

  4. Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc

    在本地调试hadoop.mapreduc时断点看到这个信息,且程序执行不成功,以为是这个问题导致的,网上查了很久也没有解决办法,后来发现这个并不影响主要功能.如果不想看到它可以在idea进行配置. 你 ...

  5. Method threw ‘java.lang.UnsupportedOperationException‘ exception.

    List<String> strings = Arrays.asList("1", "2", "3", "4" ...

  6. threw ‘java.lang.NullPointerException‘ exception // toString()

    Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.json.JSONObject.toStrin ...

  7. java.lang.StackOverflowError递归异常

    java.lang.StackOverflowError递归异常 hello,我是小灰熊Carroll,下面这张图片不是本人,别误会噢,嘿嘿. 开始:首先上个-错误代码 在Controller中打个& ...

  8. javaweb出现Exception invoking method manageApp java.lang.IllegalStateException: ContainerBase.addChild

    主要原因 : 1 web.xml中有个servlet 的 url-pattern没加"/" 2 @WebServlet中缺少"/" 在运行 tomcat 出现无 ...

  9. Java项目编译特别慢或者出现Exception in thread “main“ java.lang.StackOverflowError

    Maven install 编译特别慢出错: Exception in thread "main" java.lang.StackOverflowError at org.code ...

最新文章

  1. C++中public、protect和private用法区别
  2. SVD(奇异值分解)+NMF(非负矩阵分解)
  3. 发布Wear OS by Google开发者预览版
  4. python嵌套字典赋值_Python:更新深度嵌套字典中的值
  5. Spring Cloud简介
  6. 【Python基础】Python3十大经典错误及解决办法
  7. numpy读取csv_Numpy——IO操作与数据处理
  8. 首次!华人获世界科学奖,其海洋蓝色能源技术或解决世界能源需求
  9. 006-高级语言程序设计C 第六章,高级语言程序设计_C语言(第六章 数组.ppt
  10. Linux(五):Ubuntu 16.04 更改系统语言为简体中文(Chinese simplified)
  11. Uncaught SyntaxError: Unexpected token ‘var‘
  12. 【C/C++】C/C++中Static的作用详述
  13. GNS3 思科交换机配置三层转发
  14. 防治计算机病毒教案,小学信息技术教案:《防治计算机病毒-计算机病毒》
  15. 【bat】做个一键连接网络打印机的bat
  16. 机器视觉学习笔记(7)——基于OpenCV的双目摄像机标定
  17. Qt - 获取屏幕分辨率
  18. 01-ECAM、发展史、JS值、编程语言、变量
  19. java之get/set方法的作用:灵活、安全
  20. 关于iphone的双重验证的虚伪本质

热门文章

  1. maven私服的配置使用
  2. html中和over怎么显示div,js 解决隐藏与显示div的相关问题
  3. oracle bi publisher 安装,Oracle BI Publisher 企业版安装后的配置(BI Publisher Enterpr
  4. tankwar java,TankWar 單機(JAVA版) 版本0.4~版本0.6 讓坦克動起來
  5. 解决 macOS 上 iterm2 使用 rz/sz 卡死的问题
  6. web签名验证程序【跨服务器、中文字符签名方法】-php为例
  7. nginx mysql占用率高_nginx/mysql查看内存占用
  8. java单线程循环调度_Java基础篇之Java线程模型
  9. java handler使用方法_Android中Handler的使用方法及实例(基础回顾)
  10. 对接接口文档_接口自动化测试框架设计思路