Exception in thread "main" …

2020-03-10 16:01:19来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Exception in thread "main" java.lang.StackOverflowError(栈溢出)

             昨天晚上写代码的时候碰到一个bug,当时傻乎乎的调好久,请教老师,老师一眼就看出来了。

报错:Exception in thread "main" java.lang.StackOverflowError 

我这里写了一个小代码来实现了这个错误  如下:

第一个类 dome01:

package test;

public class dome01 {
         dome02 dome02 =  new dome02();
         public void name() {
             dome02.name();
            System.out.println("这是一个错误!");
        }
         
         public static void main(String[] args) {
            dome01 dome01 = new dome01();
            dome01.name();
         }
         
}

 

第二个类dome02

package test;

public class dome02 {
     dome01 dome01 =  new dome01();
    public void name() {
        dome01.name();
        System.out.println("内存泄漏导致的错误");
    }
}

 

相信很快就能发现,dome01中 new了一个 dome02, dome02中有new了一个dome01,在进入程序中 两个对象相互调用

造成了死循环,直到栈溢出,简单说就是内存泄漏了

解决方法:

        避免两个方法之间的反复调用,以免出现内存的泄漏

 


原文链接:https://www.cnblogs.com/2979100039-qq-con/p/12456536.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Spring Boot 2.x基础教程:使用MyBatis的XML配置方式

下一篇:【Java面试题】关于String,最近被问到了这2道面试题