java中方法調用在內存中的體現
阿新 • • 發佈:2017-10-12
壓入 ble borde dbo 才會 執行 lsp 過程 執行過程
在java中,方法以及局部變量(即在方法中聲明的變量)是放在棧內存上的。當你調用一個方法時,該方法會放在調用棧的棧頂。棧頂的方法是目前正在執行的方法,直到執行完畢才會從棧頂釋放。我們知道,棧是一種執行”先進後出”的數據結構。我在下面舉些實際的例子。先看代碼。
public void graduate()//第一個方法
{
study();
}
public void study()//第二個方法
{
readBooks();
}
public void readBooks()//第三個方法
{
boolean done = true;
}
第一個方法在執行過程中會調用第二個方法,此時,第一個方法在棧中被壓在下面,第二個方法進棧,置於棧頂,第二個方法在執行的時候調用第三個方法,此時,第二個方法被壓入下面,第三個方法進棧,至於棧頂,棧頂上的方法就是目前正在執行中的。
graduate() |
study() |
graduate() |
readBooks() |
study() |
graduate() |
study() |
graduate() |
java中方法調用在內存中的體現