真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java虛擬機(jī)運行時數(shù)據(jù)區(qū)域劃分

Java虛擬機(jī)數(shù)據(jù)運行時區(qū)域

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)柳南,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

方法區(qū)(Method Area)

存儲加載的類信息,常量,靜態(tài)變量,編譯器編譯后的代碼等數(shù)據(jù)。雖然JVM規(guī)范把方法區(qū)描述為堆的一個邏輯部分,但它卻有一個別名叫做Non-Heap。Class文件中除了有類的版本,字段,方法,接口等描述信息外,還有一項是常量池,用于存放編譯器生成的各種字面量和符號引用,包括字符串常量。JVM加載Class后把常量池中的數(shù)據(jù)放入到運行時常量池。方法區(qū)的運行時數(shù)據(jù)(包括運行時常量池)是線程共享的。

堆(Java Heap)

堆是被線程共享的一塊內(nèi)存區(qū)域,在JVM啟動時創(chuàng)建。所有的對象實例以及數(shù)組都要在這里分配內(nèi)存,但是隨著JIT編譯器的發(fā)展,漸漸變得不是那么絕對了。

虛擬機(jī)棧(Java Virtual Machine Stack)

描述Java方法執(zhí)行的內(nèi)存模型,每個方法在執(zhí)行的同時都會創(chuàng)建一個棧幀(Stacks Frame)用于存儲局部變量表,操作數(shù)棧,動態(tài)鏈接,方法出口等信息。每一個方法從調(diào)用直至執(zhí)行完成的過程,就對應(yīng)一個棧幀在JVM棧中入棧到出棧的過程。 局部變量表是一組變量值存儲空間,用于存放方法參數(shù)和方法內(nèi)部定義的局部變量。 深圳中公教育 所需的內(nèi)存空間在編譯期間完成分配,當(dāng)進(jìn)入一個方法時,這個方法需要在棧幀中分配多大的局部變量空間是完全確定的,在方法運行期間不會改變局部變量表的大小。為最局部變量表的容量以變量槽(Slot)小單位,32位虛擬機(jī)中一個Slot可以存放一個32位以內(nèi)的數(shù)據(jù)類型(boolean、byte、char、short、int、float、reference和returnAddress八種)。虛擬機(jī)是使用局部變量表完成參數(shù)值到參數(shù)變量列表的傳遞過程的,如果是實例方法(非static),那么局部變量表的第0位索引的Slot默認(rèn)是用于傳遞方法所屬對象實例的引用,在方法中通過this訪問。虛擬機(jī)棧是線程獨享的。

本地方法棧(Native Method Stack)

與JVM棧發(fā)揮的作用非常相似,區(qū)別不過是JVM棧為JVM執(zhí)行Java方法服務(wù),而本地方法棧為JVM使用到的Native方法服務(wù)。也是線程獨享的。

程序計數(shù)器(Program Counter Register)

一塊較小的內(nèi)存空間,可以看作是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器,字節(jié)碼解釋器就是通過改變計數(shù)器的值來選取下一條執(zhí)行的字節(jié)碼指令。每個線程擁有獨立的一個計數(shù)器。


文章名稱:Java虛擬機(jī)運行時數(shù)據(jù)區(qū)域劃分
分享URL:http://weahome.cn/article/ieghhd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部