1. 程式人生 > >Java虛擬機內存tips

Java虛擬機內存tips

其他 fine pos defined java tip 指令 指示器 方法

java虛擬機內存可以分為獨占區和共享區。

獨占區:虛擬內存棧、本地方法棧、程序計數器。

共享區:方法區、Java堆(用來存放對象實例)。

程序計數器

比較小的內存空間,當前線程所執行的字節碼的行號指示器,如果執行的為java方法,那麽計數器記錄的是正在執行的虛擬機字節碼指令的地址,如果方法是native方法,則為undefined。

虛擬機棧(為JVM執行java方法服務)

存放方法時運行的數據,描述的是方法執行的動態內存模型。

棧幀:每次方法執行,就會創建一個棧幀,棧幀進棧就開始執行。如果調用其他方法,則又會創建一個棧幀,就按照棧的先進先出來進行。

局部變量表:存放編譯器可知的各種數據類型,大小不會改變,因為只存放引用。

Java虛擬機內存tips