JVM-程序计数器02
生活随笔
收集整理的這篇文章主要介紹了
JVM-程序计数器02
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Java虛擬機內(nèi)存管理
方法區(qū):
二、程序計數(shù)器
1.程序計數(shù)器的解釋:
程序計數(shù)器(Program Counter Register)是一塊較小的內(nèi)存空間,它可以看做是當前線程所執(zhí)行的字節(jié)碼的行號指示器。在虛擬機的概念模型里(僅是概念模型,各種虛擬機可能會通過一些更高效的方式去實現(xiàn)),字節(jié)碼解釋器工作時就是通過改變這個計數(shù)器的值來選取下一條需要執(zhí)行的字節(jié)碼指令,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復等基礎(chǔ)功能都需要依賴這個計數(shù)器來完成。
?????????????????????????????????????????????------ 摘自《深入理解JAVA虛擬機》
2.特點
- 程序計數(shù)器是一塊較小的內(nèi)存空間,它可以看作是當前線程所執(zhí)行的字節(jié)碼的行號指示器
- 程序計數(shù)器處于處于線程獨占區(qū)
- 如果線程執(zhí)行的是Java方法,這個計數(shù)器記錄的是正在執(zhí)行的虛擬機字節(jié)碼指令的地址。如果在執(zhí)行的是native方法,這個計數(shù)器的值為undefined
- 此區(qū)域唯一一個在Java虛擬機規(guī)范中沒有規(guī)定任何OutOfMemoryError(內(nèi)存溢出)情況區(qū)域
- 線程私有
二、Java虛擬機棧
- 虛擬機棧描述的是Java方法執(zhí)行的動態(tài)內(nèi)存模型
- 棧幀
- 每個方法執(zhí)行都會創(chuàng)建一個棧幀,伴隨著方法從創(chuàng)建到執(zhí)行完成。用于存儲局部變量表,操作數(shù)棧,動態(tài)鏈接,方法出口等。
- 局部變量表
- 存放編譯期可知的各種基本數(shù)據(jù)類型,引用類型,returnAddress類型
- 局部變量表的內(nèi)存空間在編譯期完成分配,當進入一個方法時,這個方法需要在幀中分配多少內(nèi)存是固定的,在方法運行期間是不會改變局部變量表的大小
- 大小
總結(jié)
以上是生活随笔為你收集整理的JVM-程序计数器02的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python会计实证研究_描述性统计分析
- 下一篇: 众筹网02_项目环境搭建