java jvm內存詳解

棧 本地方法棧 程序計數器 方法區

1 堆中就是存new 出來的新對象

堆裡面有年輕代 老年代模塊 ,年輕代裡面有eden區 和survivor區 。新建的對象先進入年輕代,對象若長時間不被引用,就進入老年代,若老年代滿了就出現 full gc。

2 棧相當於一個個線程 裡面有

局部變量表(存一些變量)

操作數棧(將值賦值給變量就是給局部變量表中的變量)

動態鏈接(放執行的方法指定的代碼位置)

方法出口(執行的方法執行完了返回到執行的位置)

其中局部變量表與堆中對象相對應


3 本地方法棧(線程調用start方法 相當於調用C++寫的本地方法,單獨的內存)

4 程序計數器用來存執行代碼的行號(java編譯的文件裡面代碼執行到第幾行)

5 方法區也叫元空間(存儲 靜態變量 常量 類信息) 方法引用堆中的對象

java jvm內存詳解

詳圖


分享到:


相關文章: