《JVM精讲与GC调优教程》精华版

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

微信图片_20231107145831.jpg

本套教程为满足更多学习者的需求,是经典教程的浓缩精华版,重点与难点突出,更注重实战演练,集成了百余道大厂真题,并增加了调优内容,含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-教程总结