递归调用,栈深度。

错误原因: java.lang.StackOverflowError  栈内存溢出

栈溢出 产生于递归调用,循环遍历是不会的,但是循环方法里面产生递归调用, 也会发生栈溢出。

解决办法:设置线程最大调用深度  

-Xss5m 设置最大调用深度

小伙伴,玩个好玩的,最大默认深度:

package jvmTest;

//打印堆的基本内存信息
public class Test02 {
     private static int count;
     public static void count(){
        try {
             count++;
             count(); 
        } catch (Throwable e) {
            System.out.println("最大深度:"+count);
            e.printStackTrace();
        }
     }
     public static void main(String[] args) {
         count();
    }

  }    

结果:

栈溢出_栈溢出

配置下 可以加大深度调用

来个猛烈的~~

栈溢出_最大深度_02

运行结果:

栈溢出_内存溢出_03

 

 6666 好玩不