在java程序中,每調(diào)用一個(gè)方法都會(huì)產(chǎn)生一個(gè)運(yùn)行時(shí)棧來(lái)存儲(chǔ)局部變量,簡(jiǎn)稱(chēng)為“?!薄?/p>
例如我們聲明一個(gè)sum方法,聲明兩個(gè)int變量i,j來(lái)接收參數(shù),返回一個(gè)int類(lèi)型的和,圖解該程序在棧中的順序。
代碼:
首先執(zhí)行main方法,main方法的運(yùn)行時(shí)棧會(huì)被放到最底部
調(diào)用sum方法,sum方法會(huì)被放到main方法上面
sum方法結(jié)束時(shí)棧會(huì)清空該方法創(chuàng)建的變量
最后main方法結(jié)束,變?yōu)榭諚?/p>
最先調(diào)用執(zhí)行的方法會(huì)被放到棧的最底部,最后執(zhí)行的方法會(huì)被放到最頂部,當(dāng)方法調(diào)用結(jié)束后棧會(huì)由上而下釋放清空,所以最后調(diào)用的方法時(shí)最先被釋放的。