av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Java StackOverflowError詳解

瀏覽:3日期:2023-12-06 15:50:34
StackOverflowError

原因 : 函數調用棧太深了,注意代碼中是否有了循環調用方法而無法退出的情況

原理

StackOverflowError 是一個java中常出現的錯誤:在jvm運行時的數據區域中有一個java虛擬機棧,當執行java方法時會進行壓棧彈棧的操作。在棧中會保存局部變量,操作數棧,方法出口等等。jvm規定了棧的最大深度,當執行時棧的深度大于了規定的深度,就會拋出StackOverflowError錯誤。

典型的例子:

public class StackOverFlowDemo { public static void Foo(){Foo(); } public static void main(String[] args) {Foo(); }}

今天我遇見了另外一種情況:當兩個對象相互引用,在調用toString方法時會產生這個異常,因為它們會循環調用toString方法。

//book和student相互循環引用public class StackOverFlowDemo { static class Student{String name;Book book;public Student(String name) { this.name = name;}//循環調用toString方法@Overridepublic String toString() { return 'Student{' + 'name=’' + name + ’’’ + ', book=' + book + ’}’;} } static class Book {String isbn;Student student;public Book(String isbn, Student student) { this.isbn = isbn; this.student = student;}@Overridepublic String toString() { return 'Book{' + 'isbn=’' + isbn + ’’’ + ', student=' + student + ’}’;} } public static void main(String[] args) {Student student=new Student('zhang3');Book book=new Book('1111',student);student.book=book;System.out.println(book.toString()); }}

出現的錯誤:

Java StackOverflowError詳解

toString()

說到toString()方法,在打印一個對象時,會先調用這個對象的toString()方法,例如:

public class toStringDemo { static class A{@Overridepublic String toString() { System.out.print('I '); return '';} } public static void main(String[] args) {A a=new A();System.out.println('love you.'+a); }}

會輸出:

I love you.

到此這篇關于Java StackOverflowError詳解的文章就介紹到這了,更多相關Java StackOverflowError內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 欧美激情一区二区三区 | 国产精品久久久久久久久久久久久久久 | 国产黄a三级三级三级看三级男男 | 亚洲午夜久久 | www.亚洲天堂| 综合色在线| 亚洲视频在线观看免费 | 日韩av福利| 亚洲a级片 | 欧美成人一级 | 青青草伊人网 | 天海翼一区二区 | 22精品一区二区三区 | 黄色大片视频 | 免费av观看| 在线黄色网 | 亚洲第一黄网 | 国产成人免费观看 | 二区在线观看 | 国产成人精品一区二区 | 黄色成人毛片 | 解开岳的丰满奶罩bd | 日韩在线免费观看视频 | 夜色在线影院 | 欧美性猛交xxxx乱大交退制版 | 超碰97免费 | 久久久久久久久久国产 | 在线日韩一区 | 特黄视频| 午夜免费 | 性久久久久久久 | 日韩精品少妇 | 日本加勒比在线观看 | 日本黄色片视频 | 欧美日韩高清 | 亚洲毛片av | 天天操天天干天天爽 | 四虎8848精品成人免费网站 | 亚洲综合五月 | 黄色直接看| 青青草成人在线 |