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,在進入程序中 兩個對象反復調用

造成了死循環,直到棧溢出,簡單說就是內存泄漏了

解決方法:

        避免兩個方法之間的反復調用,以免出現內存的泄漏

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM