- 局部變量表也稱為局部變量數組或本地變量表,定義一個數字數組,主要用於存儲方法參數和定義在方法體內的句柄變量,這些數據類型包括各類基本數據類型、對象引用以及returnAddress類型。
- 由於局部變量表是建立在線程的棧上,是線程的私有數據,所以不存在數據安全問題。
- 局部變量表所需要的容量大小是在編譯期確定下來的,並保存在方法的code屬性的maximum local variables數據項中。在方法運行期間是不會改變局部變量表的大小的。
- 方法嵌套調用的次數由棧的大小決定。一般,棧越大,方法嵌套調用次數越多。對於一個函數,它的參數和局部變量越多,使得局部變量表膨脹,它的棧幀就越大,以滿足方法調用所需傳遞的信息增大的需求。進而函數調用就會占用更多的棧空間,導致其嵌套調用次數就會減少。
- 局部變量表中的變量只在當前方法調用中有效,在方法執行時,虛擬機通過使用局部變量表完成參數值到參數變量列表的傳遞過程。當方法調用結束后,隨着方法棧幀的銷毀,局部變量表也會隨之銷毀。