文章目錄
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