原文地址:http://www.tuicool.com/articles/URZrMnb
局部變量表中的Slot是可重用的,方法體中定義的變量,其作用域並不一定會覆蓋整個方法,如果當前字節碼PC計算器的值已經超出了某個變量的作用域,那麼這個變量對應的Slot就可以交給其它變量使用。
求大神解釋下,上面的這句話,最好舉個實例。
PC計算器,說的是PC計數器,也就是指令指針
這裡的意思是,Java允許定義塊級變量,這個變量在塊裡有效而不是作用在整個方法上。比如
void foo()
{
...
{
int x;
...
}
//這裡x就無效了,雖然還沒有退出函數
...
}
比如我們可以在循環裡定義變量
for (...)
{
int x = ...
}
//這裡x超出作用域。