函數調用另外一個詞語表示叫做過程。一個過程調用包括將數據和控制從代碼的一部分傳遞到另外一部分。另外,它還必須在進入時爲過程的局部變量分配空間,並在推出時釋放這些空間。而數據傳遞,局部變量的分配和釋放經過操縱程序棧來實現。數據結構
棧幀也叫過程活動記錄,是編譯器用來實現過程函數調用的一種數據結構。ide
下面的一段代碼,在main函數中並無調用使虛擬機重啓的函數,可是虛擬機爲何會重啓?函數

這個緣由就與棧幀有關,如下的圖是對這個程序的解析spa

利用棧幀的知識,還能夠不用b,可是能夠改變b變量的值。blog

如下是結果:get
