zoukankan      html  css  js  c++  java
  • [java基础] 001

    上午经理发来一个任务,解决某个接口异常,此接口第一次调用成功返回:

    {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!

  • 相关阅读:
    java中的Class类
    装机
    CSS入门
    初级HTML
    IO加强
    Lambda表达式
    IOStream-基础
    JavaSE阶段基础内容(不包括I/O,常用类,集合)
    markdown学习
    Log4j配置详解
  • 原文地址:https://www.cnblogs.com/ruanian/p/10901969.html
Copyright © 2011-2022 走看看