虛擬機器執行時資料區劃分

2022-03-14 16:23:28 字數 530 閱讀 7874

假設①新建company類,然後繼續②建立company例項,即company company = new company();

下面解釋①②兩部動作所涉及到的虛擬機器執行時記憶體區域劃分:

1,方法區:存放類資訊,常量,靜態變數(①中新建類(類資訊)存放在方法去中);

2,虛擬機器棧:建立棧幀,存放區域性變數資訊表,方法出口等資訊(②中company company即建立了乙個reference,則昂在了區域性變數資訊表中);

3,堆:存放物件例項,(②中new company()所需記憶體空間則在堆提供)。

4,程式計數器:生命週期與執行緒生命週期相同,簡單來說,則用於標記執行緒執行的位置。

5,本地方法棧:與虛擬機器棧類似,只不過本地方法棧服務的是native方法(本地方法)。

執行時資料區

按理說,在介紹完前端編譯器之後,我們應該介紹如何讓 jvm 去解釋執行 這個編譯後的 class 檔案。但是感覺並不是很恰當。如果把 class 檔案比做新購買的家具,那麼如果需要把家具擺放到家裡,是不是得先了解房子的結構和布局,然後才能將家具進行正確的擺放。我們這裡介紹的 執行時資料區 相當於前面...

JVM執行時資料區

根據 jvm 規範,jvm 記憶體共分為虛擬機器棧 堆 方法區 程式計數器 本地方法棧五個部分。記憶體空間 runtime data area 中可以按照是否執行緒共享分為兩塊,執行緒共享的是方法區 method area 和堆 heap 執行緒獨享的是虛擬機器棧 vm stack 本地方法棧 na...

JVM 執行時資料區

jdk版本 8 class檔案 class content class物件 物件 的含義 class檔案 儲存在磁碟上的.class檔案 十六進製制位元組碼檔案 class content 類載入器子系統載入class檔案,儲存到記憶體中的位元組流,解析前這塊記憶體區域叫class content ...