JVM調優(五)
阿新 • • 發佈:2022-03-26
一、Runtime Data Area
1、包括
Program Counter:PC,存放指令的位置。 取PC中的位置,找到對應位置的指令-->執行該指令-->指令++
Direct Memory:JVM可以直接訪問的核心空間的記憶體。NIO,提高效率,直線零拷貝
method area:被所有執行緒共享,class的結構存放方法區
jdk1.7中的永久代和jdk1.8中的元資料區是method area的實現方式
JVM stacks:存放棧幀
heap:被所有執行緒共享
二、棧幀
棧幀:每個方法對應一個棧幀,方法啟動後就會生成棧幀
區域性變量表,當前方法中運用到的區域性變數
運算元棧
三、棧的執行過程
Hello hello = new Hello();物件的建立過程
①在堆中建立一個物件,該物件為預設值
②該物件地址會壓棧
③呼叫構造方法賦初始值
④地址彈棧(store指令)將new Hello()賦值給hello
store指令:彈棧
load指令:壓棧
pop指令:將值放到棧頂
init指令:構造方法賦初始值