JVM:運行時數據區(二)

1.本地方法接口與本地方法棧

只要是程序中有native標記的方法,那麼都會把這些方法放到本地方法棧中去,然後通過本地接口調用其他程序的功能
在這裏插入圖片描述

2.程序計數器

就是保存下一條即將執行的命令地址,比如有點類似班級課程表那樣,記錄了當天一堂課結束後,下一堂課上哪個
在這裏插入圖片描述

3.方法區

方法區:其實就是保存一個類的相關信息,比如class文件加載到我們JVM裏後,這個class的相關類結構信息都保存在方法區的
在這裏插入圖片描述

4.棧

1.棧管運行,堆管存儲

在這裏插入圖片描述

2.棧存儲什麼

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
棧,堆,方法區關係:
1.棧裏保存的是對象的引用地址
2.堆裏除了保存對象自己的數據,還保存了該對象的類結構的引用地址
在這裏插入圖片描述

5.堆

5.1.JDK7結構介紹

在這裏插入圖片描述
在這裏插入圖片描述

5.2.堆上創建對象過程

在這裏插入圖片描述

5.3.數據存儲舉例

在這裏插入圖片描述

5.4.對象生命週期和GC

在這裏插入圖片描述

1.新生區裏又細分了8:1:1的堆結構,from區和to區每次GC後,都會先清空他們中佔用比較多的內存,然後再把保留的其他 數據存放到他們中的另外一個空閒區域,每次GC,原來的區域都會全部清空一遍

在這裏插入圖片描述

5.5.永久區

在這裏插入圖片描述

1.jdk7的方法區的一個實現我們叫永久代,jdk8的方法區的一個實現我們叫元空間

在這裏插入圖片描述

5.6.堆參數調優

在這裏插入圖片描述

在這裏插入圖片描述

5.7.GC日誌分析

在這裏插入圖片描述

在這裏插入圖片描述

6.GC

6.1.GC總體算法概述

在這裏插入圖片描述
在這裏插入圖片描述

6.2.引用計數法

在這裏插入圖片描述
在這裏插入圖片描述

6.3.複製算法

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

劣勢:
在這裏插入圖片描述

6.4.標記清除

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
劣勢:
在這裏插入圖片描述

6.5.標記壓縮算法

在這裏插入圖片描述
在這裏插入圖片描述
劣勢:
在這裏插入圖片描述

6.6.四種算法比較

在這裏插入圖片描述

6.7.分代收集算法

在這裏插入圖片描述
在這裏插入圖片描述

6.8.四種算法比較

7. JMM

7.1.什麼是JMM

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章