目錄
一、程序計數(shù)器(Program Counter Register)
二、Java 虛擬機棧(Java Virtual Machine Stacks)
三、本地方法棧(Native Method Stack)
四、Java 堆(Java Heap)
五、方法區(qū)(Methed Area)
一、程序計數(shù)器(Program Counter Register)
當前線程所執(zhí)行的字節(jié)碼的行號指示器,字節(jié)碼解析器的工作是通過改變這個計數(shù)器的值,來選取下一條需要執(zhí)行的字節(jié)碼指令,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復等基礎(chǔ)功能,都需要依賴這個計數(shù)器來完成(為什么要線程計數(shù)器?因為線程是不具備記憶功能)
二、Java 虛擬機棧(Java Virtual Machine Stacks)
每個方法在執(zhí)行的同時都會在Java 虛擬機棧中創(chuàng)建一個棧幀(Stack Frame)用于存儲局部變量表、操作數(shù)棧、動態(tài)鏈接、方法出口等信息;(棧幀就是Java虛擬機棧中的一個單位)
三、本地方法棧(Native Method Stack)
與虛擬機棧的作用是一樣的,只不過虛擬機棧是服務 Java方法的,而本地方法棧是為虛擬機調(diào)用 Native 方法服務的;(Native 關(guān)鍵字修飾的方法是看不到的,Native 方法的源碼大部分都是 C和C++ 的代碼)
四、Java 堆(Java Heap)
Java 虛擬機中內(nèi)存最大的一塊,是被所有線程共享的,幾乎所有的對象實例都在這里分配內(nèi)存;文章來源:http://www.zghlxwxcb.cn/news/detail-834209.html
五、方法區(qū)(Methed Area)
用于存儲已被虛擬機加載的類信息、常量、靜態(tài)變量、即時編譯后的代碼等數(shù)據(jù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-834209.html
到了這里,關(guān)于說一下 JVM 運行時數(shù)據(jù)區(qū) ?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!