《JVM精讲与GC调优教程》精华版
JVM故障诊断与性能优化,是中高级程序员、架构师等的必备技能,更是入职大厂的敲门砖。JVM作为Java生态的核心价值体现,垃圾回收算法、JIT、底层原理值得每个程序员去探索,而且JVM是跨语言的平台,对于深入理解Scala、Kotlin、JavaScript、Jython、Groovy等语言非常有帮助。

本套教程为满足更多学习者的需求,是经典教程的浓缩精华版,重点与难点突出,更注重实战演练,集成了百余道大厂真题,并增加了调优内容,含4大OOM案例和7大性能优化案例。学习者可以通过本套教程,快速学习或有选择的学习。
教程目录
01-教程简介
02-JVM与GC调优内容介绍
03-JVM内容概述
04-字节码文件的概述
05-字节码相关的面试题(上)
06-字节码相关的面试题(下)
07-Class文件结构的分析
08-相关的字节码指令
09-类的加载概述_loading的阶段
10-链接环节的执行
11-类的初始化_主动使用与被动使用
12-类的使用与类的卸载
13-类的加载器的分类
14-ClassLoader的源码分析
15-自定义类的加载器
16-双亲委派机制
17-Tomcat的类加载机制
18-程序计数器的理解
19-栈的理解
20-局部变量表的说明
21-操作数栈
22-动态链接(指向运行时常量池中该方法的引用)
23-方法返回地址
24-栈总结的五个面试问题
25-本地方法栈的说明
26-堆空间大小的设置
27-新生代与老年代的参数设置
28-对象分配过程
29-MinorGC、MajorGC、FullGC
30-方法区的设置_演进
31-教程小结
32-对象的创建方式
33-创建的对象的内存分配过程
34-对象的内存布局
35-对象的访问定位
36-解释器与JIT编译器
37-JIT针对何种代码进行提前编译
38-两种不同的编译器C1和C2
39-GC的基本概念
40-引用技术算法的理解
41-可达性分析算法
42-垃圾标记和清除环节的算法
43-System.gc()与finalize()的说明
44-内存溢出和内存泄漏问题
45-安全点与安全区域_并行与并发
46-五种引用的说明
47-GC评价指标
48-GC的组合关系
49-SerialGC
50-ParNewGC
51-ParallelGC
52-CMSGC
53-G1GC
54-GC日志分析
55-案例一:堆溢出
56-案例二:元空间溢出
57-案例三:GC overhead limit exceeded
58-案例四:创建线程1
59-案例四:创建线程2
60-调优的基本问题
61-调优的步骤
62-Jmeter的配置
63-优化案例1:调整堆大小提升服务的吞吐量
64-优化案例2:逃逸分析之栈上分配
65-优化案例2:逃逸分析之标量替换、锁消除
66-优化案例3:合理配置堆内存
67-如何计算YGC发生频率
68-UseAdaptiveSizePolicy的使用
69-优化案例4:CPU占用很高的排查方案
70-优化案例5:G1并发GC线程数对性能的影响
71-优化案例6:调整垃圾回收器对吞吐量的影响
72-优化案例7:日均百万订单如何设置JVM参数
73-多种命令行工具的使用
74-Arthas的基本使用
75-教程总结