[java基础] 001 - 记一次堆栈溢出异常(StackOverFlowError)
2024-09-04 15:48:44
上午经理发来一个任务,解决某个接口异常,此接口第一次调用成功返回:
{ret=Y, orderResultList=[{itemno=31920190521083622032, sub_msg=成功, isSuccess=true}]}
再次调用则全部返回:
Exception when eval result.toString:null
查看日志:是StackOverflowError
找到对应的xxxxxServiceImpl,看到几行代码:
从而找到此方法调用的地方:
继续浏览代码,看到:
恍然大悟,原来如此。
result和orderResultList用的是引用传递,他俩相互引用造成了toString解析结构异常,从而造成StackOverflowError,
最终演变成了我看到的【Exception when eval result.toString:null】。
关于java引用传递和值传递,看下面这篇文章:
https://www.cnblogs.com/xiaoxiaoyihan/p/4883770.html
现在修正代码,改成如下:
小结:此bug埋的精巧,看代码容易一眼带过,所以我用了近乎半天的时间。一是自身能力不足(上方内容若有误,恳请不吝指出),二是项目不熟悉,情绪焦躁,排斥看代码。
over!
最新文章
- mysql 日期对比,varchar类型装换为datetime类型
- C# 向Http服务器送出 POST 请求
- 1644 免费馅饼 题解(c++)(S.B.S.)
- offsetWidth与scrollLeft
- Windows 7下搭建Jmeter测试环境
- 也来说说C#异步委托(转)
- iOS 使用COPY声明NSSTRING属性
- vs2013+sql server2012
- 《Head First 设计模式》学习笔记——模板方法模式
- SharePoint 2016 自定义城市和区域字段
- FreeRTOS——内存管理
- Spring Cloud Consul入门
- 运用socket实现简单的ssh功能
- this.$nextTick()作用
- 4.7做作业时发现,内联元素设置宽高背景以后正常不显示,但是设置了position:absolute;以后就可以显示了。起到了和display:block;一样的效果。然后查了一下知道了。
- OpenCV实现彩色图像轮廓 换背景颜色
- 使用js实现登录随机验证码的效果
- Druid参考配置
- 10、Dockerfile实战-PHP
- 03: 自定义异步非阻塞tornado框架
热门文章
- LeetCode(307) Range Sum Query - Mutable
- centos7 安全配置
- PAT Basic 1073
- 网络编程基础socket 重要中:TCP/UDP/七层协议
- jquery如何获取某一个兄弟节点
- 理解依赖注入 for Zend framework 2
- Spring Cloud(2.0)能力大致列表
- python学习-- 理解'*','*args','**','**kwargs'
- 【Go】Panic函数
- PHP允许AJAX跨域请求的两种方法