拉勾教育,[深入浅出Java虚拟机课程](https://kaiwu.lagou.com/course/courseInfo.htm?courseId=31#/content),便于学习交流。
课程地址:https://kaiwu.lagou.com/course/courseInfo.htm?courseId=31#/content
### 课程背景
"Write Once , Run Anywhere"。相信每位Java人对这句话都不陌生,“一次编写,到处运行”,我们说这句话的底气就来自于 JVM(Java Virtual Machine)。你可能花过很多精力学习 JVM 的知识,但在面对真实生产环境产生的问题,依旧会束手无策:
- 正在运行的 Java 程序,突然 OOM
- 程序异常卡顿,CPU 疯狂运转,GC 时间飙升
- 面对一堆 JVM 参数无从下手,甚至错误配置某个参数而产生负面效果
- 一头雾水,不知如何了解线上应用的垃圾回收状况
......
当你面对这些问题,该如何快速定位和解决问题,需要你对Java 虚拟机的实现和优化,有极为深刻的理解。这门课会从四个方面,从基础知识到实战问题解决方案,带你重新学习 Java 虚拟机,带你还原最真实的问题现场,找到解决方法。
第一章基础原理:
主要讲解一些基础概念,以及 JVM 的内存区域划分和类加载机制等。
第二章垃圾回收:
Java 中有非常丰富的垃圾回收器,此部分以理论为主,通过横向比较的方式讲解。
第三章实战部分:
模拟 OOM 的溢出场景,通过实例分析线上问题,提供多个排查工具的使用介绍。
第四章进阶部分:
该模块偏向底层,介绍 JMM,从字节码层面来看 Java 的基础特性以及并发方面的问题。
### 课程大纲
![](https://img.kancloud.cn/6d/ea/6deaf639ecf91580d91ecb602ff8df35_750x4353.png)
- 前言
- 开篇词
- 基础原理
- 第01讲:一探究竟:为什么需要 JVM?它处在什么位置?
- 第02讲:大厂面试题:你不得不掌握的 JVM 内存管理
- 第03讲:大厂面试题:从覆盖 JDK 的类开始掌握类的加载机制
- 第04讲:动手实践:从栈帧看字节码是如何在 JVM 中进行流转的
- 垃圾回收
- 第05讲:大厂面试题:得心应手应对 OOM 的疑难杂症
- 第06讲:深入剖析:垃圾回收你真的了解吗?(上)
- 第06讲:深入剖析:垃圾回收你真的了解吗?(下)
- 第07讲:大厂面试题:有了 G1 还需要其他垃圾回收器吗?
- 第08讲:案例实战:亿级流量高并发下如何进行估算和调优
- 实战部分
- 第09讲:案例实战:面对突如其来的 GC 问题如何下手解决
- 第10讲:动手实践:自己模拟 JVM 内存溢出场景
- 第11讲:动手实践:遇到问题不要慌,轻松搞定内存泄漏
- 第12讲:工具进阶:如何利用 MAT 找到问题发生的根本原因
- 第13讲:动手实践:让面试官刮目相看的堆外内存排查
- 第14讲:预警与解决:深入浅出 GC 监控与调优
- 第15讲:案例分析:一个高死亡率的报表系统的优化之路
- 第16讲:案例分析:分库分表后,我的应用崩溃了
- 进阶部分
- 第17讲:动手实践:从字节码看方法调用的底层实现
- 第18讲:大厂面试题:不要搞混 JMM 与 JVM
- 第19讲:动手实践:从字节码看并发编程的底层实现
- 第20讲:动手实践:不为人熟知的字节码指令
- 第21讲:深入剖析:如何使用 Java Agent 技术对字节码进行修改
- 第22讲:动手实践:JIT 参数配置如何影响程序运行?
- 第23讲:案例分析:大型项目如何进行性能瓶颈调优?
- 彩蛋
- 第24讲:未来:JVM 的历史与展望
- 第25讲:福利:常见 JVM 面试题补充