深入浅出JVM虚拟机底层原理分析与性能调优课程视频教程下载。本课程主要讲解JVM内存结构、内存调优、内存模型、堆的分代与垃圾回收算法、以及理解高并发程序的开发精髓,带大家从JVM从入门到精通。
课程目录
│ 代码.zip
│ JVM从入门到精通.pdf
│ 资料.zip
│ 软件工具.rar
│
└─视频
├─第1章:JVM与Java体系结构
│ 01-JVM内存与垃圾回收篇概述.avi
│ 02-如何看待Java上层技术与JVM.avi
│ 03-为什么要学习JVM.avi
│ 04-面向人群和课程特点.avi
│ 05-官方规范下载与参考书目.avi
│ 06-跨平台的语言Java和跨语言的平台JVM.avi
│ 07-字节码与多语言混合编程.avi
│ 08-Java及JVM历史上的重大事件.avi
│ 09-虚拟机与Java虚拟机介绍.avi
│ 10-JVM的位置.avi
│ 11-JVM的整体结构.avi
│ 12-Java代码执行流程.avi
│ 13-区分栈的指令集架构和寄存器的指令集架构.avi
│ 14-JVM的生命周期.avi
│ 15-SUN Classic VM的介绍.avi
│ 16-Exact VM的介绍.avi
│ 17-HotSpot VM的介绍.avi
│ 18-JRockit VM的介绍.avi
│ 19-IBM J9 VM的介绍.avi
│ 20-KVM、CDC、CLDC的介绍.avi
│ 21-Azul VM和BEA Liquid VM的介绍.avi
│ 22-Apache Harmony的介绍.avi
│ 23-Microsoft JVM和TaobaoJVM.avi
│ 24-Dalvik VM及其他虚拟机的介绍.avi
│ 25-Graal VM的介绍.avi
│
├─第2章:类加载子系统
│ 26-内存结构概述.avi
│ 27-概述类的加载器及类加载过程.avi
│ 28-类的加载过程一:Loading.avi
│ 29-类的加载过程二:Linking.avi
│ 30-类的加载过程三:Initialization.avi
│ 31-几种类加载器的使用体会.avi
│ 32-引导类、扩展类、系统类加载器的使用及演示.avi
│ 33-为什么需要用户自定义类加载器及具体实现.avi
│ 34-ClassLoader的常用方法及获取方法.avi
│ 35-双亲委派机制的工作原理及演示.avi
│ 36-双亲委派机制的优势.avi
│ 37-沙箱安全机制.avi
│ 38-类的主动使用与被动使用等.avi
│
├─第3章:运行时数据区概述及线程
│ 39-运行时数据区内部结构.avi
│ 40-JVM中的线程说明.avi
│
├─第4章:程序计数器
│ 41-PC寄存器概述.avi
│ 42-PC寄存器的使用举例.avi
│ 43-解决PC寄存器两个面试问题.avi
│
├─第5章:虚拟机栈
│ 44-虚拟机栈的主要特点.avi
│ 45-虚拟机栈的常见异常与如何设置栈大小.avi
│ 46-栈的存储结构和运行原理.avi
│ 47-栈桢的内部结构.avi
│ 48-局部变量表结构的认识.avi
│ 49-字节码中方法内部结构的剖析.avi
│ 50-变量槽slot的理解与演示.avi
│ 51-静态变量与局部变量的对比及小结.avi
│ 52-操作数栈的特点.avi
│ 53-涉及操作数栈的字节码指令执行分析.avi
│ 54-栈顶缓存技术.avi
│ 55-动态链接的理解与常量池的作用.avi
│ 56-方法的绑定机制:静态绑定与动态绑定.avi
│ 57-4种方法调用指令区分非虚方法与虚方法.avi
│ 58-invokedynamic指令的使用.avi
│ 59-方法重写的本质与虚方法表的使用.avi
│ 60-方法返回地址的说明.avi
│ 61-栈桢中的一些附加信息.avi
│ 62-虚拟机栈的5道面试题.avi
│
├─第6章:本地方法接口
│ 63-本地方法接口的理解.avi
│
├─第7章:本地方法栈
│ 64-本地方法栈的理解.avi
│
├─第8章:堆
│ 65-JVM学习路线与内容回顾.mp4
│ 66-堆空间的概述_进程中堆的唯一性.mp4
│ 67-堆空间关于对象创建和和GC的概述.mp4
│ 68-堆的细分内存结构.mp4
│ 69-堆空间大小的设置和查看.avi
│ 70-OOM的说明与举例.avi
│ 71-新生代与老年代中相关参数的设置.avi
│ 72-图解对象分配的一般过程.avi
│ 73-对象分配的特殊情况.avi
│ 74-代码举例与JVisualVM演示对象的分配过程.avi
│ 75-常用优工具概述与Jprofiler的演示.avi
│ 76-MinorGC、MajorGC和FullGC的对比.avi
│ 77-GC举例与日志分析.avi
│ 78-体会堆空间分代的思想.avi
│ 79-总结内存分配策略.avi
│ 80-堆空间为每个线程分配的TLAB.avi
│ 81-小结堆空间的常用参数设置.avi
│ 82-通过逃逸分析看堆空间的对象分配策略.avi
│ 83-代码优化之栈上分配.avi
│ 84-代码优化之同步省略.avi
│ 85-代码优化之标量替换.avi
│ 86-代码优化及堆的小结.avi
│
├─第9章:方法区
│ 87-方法区概述_栈堆方法区间的交互关系.avi
│ 88-方法区的基本理解.avi
│ 89-Hotspot中方法区的演进.avi
│ 90-设置方法区大小的参数.avi
│ 91-OOM:PermGen和OOM:Metaspace举例.avi
│ 92-方法区的内部结构1.avi
│ 93-方法区的内部结构2.avi
│ 94-class文件中常量池的理解.avi
│ 95-运行时常量池的理解.avi
│ 96-图示举例方法区的使用.avi
│ 97-方法区在jdk6、jdk7、jdk8中的演进细节.avi
│ 98-StringTable为什么要调整位置.avi
│ 99-如何证明静态变量存在哪.avi
│ 100-方法区的垃圾回收行为.avi
│ 101-运行时数据区的总结与常见大厂面试题说明.avi
│
├─第10章:对象的实例化内存布局与访问定位
│ 102-对象实例化的几种方式.avi
│ 103-字节码角度看对象的创建过程.avi
│ 104-对象创建的六个步骤.avi
│ 105-对象的内存布局.avi
│ 106-对象访问定位.avi
│
├─第11章:直接内存
│ 107-直接内存的简单体验.avi
│ 108-使用本地内存读写数据的测试.avi
│ 109-直接内存的00M与内存大小的设置.avi
│
├─第12章:执行引擎
│ 110-执行引擎的作用及工作过程概述.avi
│ 111-Java程序的编译和解释运行的理解.avi
│ 112-机器码_指令_汇编_高级语言理解与执行过程.avi
│ 113-解释器的使用.avi
│ 114-HotspotVM为何解释器与JIT编译器并存.avi
│ 115-热点代码探测确定何时JIT.avi
│ 116-Hotspot设置模式_C1与C2编译器.avi
│ 117-Graal编译器与AOT编译器.avi
│
├─第13章:StringTable
│ 118-String的不可变性.avi
│ 119-String底层Hashtable结构的说明.avi
│ 120-String内存结构的分配位置.avi
│ 121-两个案例熟悉String的基本操作.avi
│ 122-字符串拼接操作的面试题讲解.avi
│ 123-字符串变量拼接操作的底层原理.avi
│ 124-拼接操作与append操作的效率对比.avi
│ 125-intern()的理解.avi
│ 126-new String()到底创建了几个对象.avi
│ 127-关于intern()的面试难题.avi
│ 128-面试的拓展问题.avi
│ 129-intern()的课后练习1.avi
│ 130-intern()的课后练习2.avi
│ 131-intern()的空间效率测试.avi
│ 132-StringTable的垃圾回收测试.avi
│ 133-G1垃圾收集器的String去重操作.avi
│
├─第14章:垃圾回收概述
│ 134-垃圾回收相关章节的说明.avi
│ 135-什么是GC,为什么需要GC.avi
│ 136-了解早期垃圾回收行为.avi
│ 137-Java自动内存管理介绍.avi
│
├─第15章:垃圾回收相关算法
│ 138-垃圾回收相关算法概述.avi
│ 139-引用计数算法的原理及优缺点.avi
│ 140-Java代码举例_Python的引用计数实施方案.avi
│ 141-可达性分析算法与GC Roots.avi
│ 142-对象的finalization机制.avi
│ 143-代码演示可复活的对象.avi
│ 144-使用MAT查看GC Roots.avi
│ 145-使用JProfiler进行GC Roots溯源.avi
│ 146-使用JProfiler分析OOM.avi
│ 147-标记-清除算法原理及优缺点.avi
│ 148-复制算法原理及优缺点.avi
│ 149-标记-压缩算法原理及优缺点.avi
│ 150-不同指标上对比三种算法.avi
│ 151-分代收集算法的说明.avi
│ 152-增量收集算法原理及优缺点.avi
│ 153-分区算法的说明.avi
│
├─第16章:垃圾回收相关概念
│ 154-垃圾回收相关概念的概述.avi
│ 155-System.gc()的理解.avi
│ 156-手动gc理解不可达对象的回收行为.avi
│ 157-内存溢出的分析.avi
│ 158-内存泄漏的分析.avi
│ 159-StopTheWorld事件的理解.avi
│ 160-程序的并行与并发.avi
│ 161-垃圾回收的并行与并发.avi
│ 162-安全点与安全区域的说明.avi
│ 163-Java中几种不同引用的概述.avi
│ 164-强引用:不回收.avi
│ 165-软引用:内存不足即回收.avi
│ 166-弱引用:发现即回收.avi
│ 167-虚引用:对象回收跟踪.avi
│ 168-终结器引用的介绍.avi
│
└─第17章:垃圾回收器
169-垃圾回收器章节概览.avi
170-垃圾回收器的分类.avi
171-GC性能指标的整体说明.avi
172-吞吐量与暂停时间的对比说明.avi
173-垃圾回收器的发展迭代史.avi
174-垃圾回收器的组合关系.avi
175-如何查看默认的垃圾回收器.avi
176-Serial与Serial Old垃圾回收器的介绍.avi
177-如何设置使用Serial垃圾回收器.avi
178-ParNew垃圾回收器的介绍.avi
179-如何设置使用ParNew垃圾回收器.avi
180-Parallel与Parallel Old垃圾回收器的介绍.avi
181-Parallel垃圾回收器的相关参数设置.avi
182-CMS垃圾回收器概述与工作原理.avi
183-CMS的特点与弊端分析.avi
184-CMS垃圾回收器的参数设置.avi
185-CMS的小结及后续JDK版本中的变化.avi
186-认识G1垃圾回收器.avi
187-G1垃圾回收器的优势和不足.avi
188-G1的参数设置.avi
189-G1在生产环境的适用场景.avi
190-region的使用介绍.avi
191-G1垃圾回收器的主要回收环节.avi
192-记忆集与写屏障.avi
193-G1垃圾回收过程的详细说明.avi
194-G1垃圾回收的优化建议.avi
195-7种经典的垃圾回收器总结与调优建议.avi
196-常用的显示GC日志的参数.avi
197-GC日志中垃圾回收数据的分析.avi
198-举例说明日志中堆空间数据如何解读.avi
199-日志分析工具的使用.avi
200-新时期的Epsilon和Shenandoah垃圾回收器.avi
201-革命性的ZGC的性能介绍.avi
202-其他的厂商的垃圾回收器.avi
203-最后寄语.avi