Method threw 'java.lang.StackOverflowError' exception. Cannot evaluate 问题
debug中突然遇到这个问题,以前看书的时候常常看见作者写到,StackOverFlow问题是实际数据操作中经常遇到的问题,但是自己一直没有遇到过,然后今天终于遇到了,虽然是debug中希望显示数据内容的时候的报错信息,但是终归对于这个问题有了一定的实际操作层面的理解。
StackOverFlow问题,顾名思义是栈溢出的意思,Java虚拟机在实际调用方法时会设置最大栈深度,个人理解,这是为了控制程序暴走的一种安全措施,因为如果放任其继续暴走可能会直接占用满所有内存之类的后果。一般时候,程序的运行是不会造成这个问题。
那么我所遇到的这个问题是由什么原因造成的呢?
因为实例之间的互相引用!
我采取了一种数据结构,采用的多叉树的感觉设置的,子节点含有了父节点的引用,父节点含有了子节点的引用。问题就因此而诞生了,因为Debugger会调用对象的toString()方法以显示对象中的所有数据信息。然后,我的所有对象都默认重写了toString()方法,使用Gson来将其序列化,以便于数据的传输和还原。问题就出在这里,这意味着程序会不断地调用父节点和子节点的toString()方法,永不停止,自然就造成了StackOverFlow的问题。
解决思路也相当简单,在类中重写toString()方法即可,避免这种循环调用的产生。
Method threw 'java.lang.StackOverflowError' exception. Cannot evaluate 问题相关推荐
- 解决 idea Method threw ‘java.lang.NoClassDefFoundError‘ exception. Cannot evaluate xxx toString 问题
问题: Method threw 'java.lang.NoClassDefFoundError' exception. Cannot evaluate com.tianque.datagroup.d ...
- Method threw ‘java.lang.NullPointerException‘ exception. Cannot evaluate com.sun.proxy.xxx
我在debug的时候发现会出现 Method threw 'java.lang.NullPointerException' exception. Cannot evaluate com.sun.pro ...
- Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.json.JSONObject.toSt...
异常: Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.json.JSONObject.toS ...
- Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc
在本地调试hadoop.mapreduc时断点看到这个信息,且程序执行不成功,以为是这个问题导致的,网上查了很久也没有解决办法,后来发现这个并不影响主要功能.如果不想看到它可以在idea进行配置. 你 ...
- Method threw ‘java.lang.UnsupportedOperationException‘ exception.
List<String> strings = Arrays.asList("1", "2", "3", "4" ...
- threw ‘java.lang.NullPointerException‘ exception // toString()
Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.json.JSONObject.toStrin ...
- java.lang.StackOverflowError递归异常
java.lang.StackOverflowError递归异常 hello,我是小灰熊Carroll,下面这张图片不是本人,别误会噢,嘿嘿. 开始:首先上个-错误代码 在Controller中打个& ...
- javaweb出现Exception invoking method manageApp java.lang.IllegalStateException: ContainerBase.addChild
主要原因 : 1 web.xml中有个servlet 的 url-pattern没加"/" 2 @WebServlet中缺少"/" 在运行 tomcat 出现无 ...
- Java项目编译特别慢或者出现Exception in thread “main“ java.lang.StackOverflowError
Maven install 编译特别慢出错: Exception in thread "main" java.lang.StackOverflowError at org.code ...
最新文章
- C++中public、protect和private用法区别
- SVD(奇异值分解)+NMF(非负矩阵分解)
- 发布Wear OS by Google开发者预览版
- python嵌套字典赋值_Python:更新深度嵌套字典中的值
- Spring Cloud简介
- 【Python基础】Python3十大经典错误及解决办法
- numpy读取csv_Numpy——IO操作与数据处理
- 首次!华人获世界科学奖,其海洋蓝色能源技术或解决世界能源需求
- 006-高级语言程序设计C 第六章,高级语言程序设计_C语言(第六章 数组.ppt
- Linux(五):Ubuntu 16.04 更改系统语言为简体中文(Chinese simplified)
- Uncaught SyntaxError: Unexpected token ‘var‘
- 【C/C++】C/C++中Static的作用详述
- GNS3 思科交换机配置三层转发
- 防治计算机病毒教案,小学信息技术教案:《防治计算机病毒-计算机病毒》
- 【bat】做个一键连接网络打印机的bat
- 机器视觉学习笔记(7)——基于OpenCV的双目摄像机标定
- Qt - 获取屏幕分辨率
- 01-ECAM、发展史、JS值、编程语言、变量
- java之get/set方法的作用:灵活、安全
- 关于iphone的双重验证的虚伪本质
热门文章
- maven私服的配置使用
- html中和over怎么显示div,js 解决隐藏与显示div的相关问题
- oracle bi publisher 安装,Oracle BI Publisher 企业版安装后的配置(BI Publisher Enterpr
- tankwar java,TankWar 單機(JAVA版) 版本0.4~版本0.6 讓坦克動起來
- 解决 macOS 上 iterm2 使用 rz/sz 卡死的问题
- web签名验证程序【跨服务器、中文字符签名方法】-php为例
- nginx mysql占用率高_nginx/mysql查看内存占用
- java单线程循环调度_Java基础篇之Java线程模型
- java handler使用方法_Android中Handler的使用方法及实例(基础回顾)
- 对接接口文档_接口自动化测试框架设计思路