教程名稱:
xa0 xa0 xa0 xa0深入理解Java虛擬機(jvm性能調優+內存模型+虛擬機原理)
教程內容:
xa0 xa0 課程基于jdk7來講解,環境是使用最新版jdk8,對于jdk8的新特性也會提及。課程以小節的形式發布,每個小節一個內容,每節盡可能獨立。課程實戰性強,以JAVA虛擬機的內存結構為例,先講了內存的結構,然后針對每個結構具體講解。然后講解監控工具,監控內存,線程等,然后講三個案例貫穿整個內容。
教程目錄:
1.說在前面的話
2.整個部分要講的內容說明
3.環境搭建以及jdk,jre,jvm的關系
4.jvm初體驗-內存溢出問題的分析與解決
5.jvm再體驗-jvm可視化監控工具
6.雜談
7.Java的發展歷史
8.Java的發展歷史續
9.Java技術體系
10.jdk8的新特性
11.lanmbda表達式簡介
12.Java虛擬機-classic vm
13.Java虛擬機-ExactVM
14.Java虛擬機-HotSpotVM
15.Java虛擬機-kvm
16.Java虛擬機-JRockit
17.Java虛擬機-j9
18.Java虛擬機-dalvik
19.Java虛擬機-MicrosoftJVM
20.Java虛擬機-高性能Java虛擬機
21.Java虛擬機-TaobaoVM
22.Java內存區域-簡介
23.Java內存區域-Java虛擬機棧
24.Java內存區域-程序計數器
25.Java內存區域-本地方法棧
26.Java內存區域-堆內存
27.Java內存區域-方法區
28.Java內存區域-直接內存和運行時常量池
29.對象在內存中的布局-對象的創建
30.探究對象的結構
31.深入理解對象的訪問定位
32.垃圾回收-概述
33.垃圾回收-判斷對象是否存活算法-引用計數法詳解
34.垃圾回收-判斷對象是否存活算法-可達性分析法詳解
35.垃圾回收算法-標記清除算法
36.垃圾回收算法-復制算法
37.垃圾回收算法-標記整理算法和分代收集算法
38.垃圾收集器-serial收集器詳解
39.垃圾收集器-parnew收集器詳解
40.垃圾收集器-parallel收集器詳解
41.垃圾收集器-cms收集器詳解
42.最牛的垃圾收集器-g1收集器詳解
43.內存分配-概述
44.內存分配-Eden區域
45.內存分配-大對象直接進老年代
46.內存分配-長期存活的對象進入老年代
47.內存分配-空間分配擔保
48.內存分配-逃逸分析與棧上分配
49.虛擬機工具介紹
50.虛擬機工具-jps詳解
51.虛擬機工具-jstat詳解
52.虛擬機工具-jinfo詳解
53.虛擬機工具-jmap詳解
54.虛擬機工具-jhat詳解
55.虛擬機工具-jstack詳解
56.可視化虛擬機工具-Jconsole內存監控
57.可視化虛擬機工具-Jconsole線程監控
58.死鎖原理以及可視化虛擬機工具-Jconsole線程死鎖監控
59.VisualVM使用詳解
60.性能調優概述
61.性能調優-案例1
62.性能調優-案例2
63.性能調優-案例3
64.前半部分內容整體回顧
65.Class文件簡介和發展歷史xa0
66.Class文件結構概述xa0
67.Class文件設計理念以及意義xa0
68.文件結構-魔數xa0
69.文件結構-常量池xa0
70.文件結構-訪問標志xa0
71.文件結構-類索引
72.文件結構-字段表集合
73.文件結構-方法表集合
74.文件結構-屬性表集合
75.字節碼指令簡介
76.字節碼與數據類型
77.加載指令
78.運算指令
79.類型轉換指令
80.對象創建與訪問指令
81.操作樹棧指令
82.控制轉移指令
83.方法調用和返回指令
84.異常處理指令
85.同步指令
86.類加載機制概述
87.類加載時機
88.類加載的過程-加載
89.類加載的過程-驗證
90.類加載的過程-準備
91.類加載的過程-解析
92.類加載的過程-初始化
93.類加載器
94.雙親委派模型
95.運行時棧幀結構
96.局部變量表
97.操作數棧
98.動態連接
99.方法返回地址和附加信息
100.方法調用-解析調用
101.方法調用-靜態分派調用
102.方法調用-動態分派調用
103.動態類型語言支持
104.字節碼執行引擎小結
105.總結與回顧
106.happens-before簡單概述
107.重排序問題
108.鎖的內存語義
109.volatile的內存語義
110.final域內存語義