1. 程式人生 > >JVM 虛擬機器棧

JVM 虛擬機器棧

https://blog.csdn.net/sdp1103285470/article/details/86754750

//這篇部落格講的好些

http://www.importnew.com/26842.html

虛擬機器棧的棧元素是棧幀,當有一個方法被呼叫時,代表這個方法的棧幀入棧;當這個方法返回時,其棧幀出棧。

棧幀分為三部分:區域性變數區(Local Variables)、運算元棧(Operand Stack)和幀資料區(Frame Data)

區域性變量表,儲存的是方法的引數和區域性變數的值。

運算元棧,臨時儲存參與運算的數值,然後進行相關操作。和區域性變量表一樣,運算元棧也是一個以字長為單位的陣列。但是和前者不同的是,它不是通過索引來訪問,而是通過標準的棧操作壓棧/出棧來訪問的。

常量池,儲存在JVM記憶體執行緒共享區的“方法區”,在類初始化的時候,會為給出的常量分配一個常量池,並且為每一個