【报错】StackOverflowError 栈内存溢出 分享一下递归有可能会导致StackOverflowError。且该报错一般不会精准报错所以会导致无法排查出问题的情况。我出现这个问题的情况是因为递归已经走了无数遍。(主要原因是下列原因的第一条因为是无数遍的递归所以大致也符合第三条。)为什么会说无法精准报错呢因为最后解决问题的根源只有递归这一个问题但是报错给出的地方却出现在了GsonUtil.toJson(object);以及正则Pattern.compile();处。递归图示分享几个有可能导致StackOverflowError的原因是否有递归调用循环依赖调用方法调用链路很深层级到达10W左右就会出现栈溢出情况三举例Collections.unmodifiableList(Collections.unmodifiableList(Collections.unmodifiableList(Collections.unmodifiableList(Collections.unmodifiableList(Collections.unmodifiableList(Collections.unmodifiableList(...)))))));根本原因线程的堆栈存储着它正在执行的方法原始数据类型变量对象指针和返回值。所有这些都会消耗内存。如果线程的堆栈大小超出分配的内存限制则会 StackOverflowError 抛出该错误。错误的解决方式增加线程堆栈大小-Xss本文参考StackOverflowError 栈溢出实战