1. 程式人生 > >java中方法調用在內存中的體現

java中方法調用在內存中的體現

壓入 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中方法調用在內存中的體現