尚硅谷宋红康JVM全套教程(详解java虚拟机)

373.1万
13.4万
2020-01-16 10:13:56
3.7万
4.4万
9.3万
1.2万
一键三连+收藏,关注硅谷更辉煌!制作不易,感谢支持! 全套课程分为《内存与垃圾回收篇》《字节码与类的加载篇》《性能监控与调优篇》三个篇章,由尚硅谷宋红康老师亲自主刀,亲手绘制的图示,仅上篇就有50张之多...内容之强悍,可见一斑!
就业规划、简历模板、毕业设计,小谷姐姐秋秋: 1295359185
视频选集
(1/381)
自动连播
01-JVM内存与垃圾回收篇概述
09:34
02-如何看待Java上层技术与JVM
20:17
03-为什么要学习JVM
05:14
04-面向人群和课程特点
10:15
05-官方规范下载与参考书目
08:30
06-跨平台的语言Java和跨语言的平台JVM
15:22
07-字节码与多语言混合编程
06:25
08-Java及JVM历史上的重大事件
14:10
09-虚拟机与Java虚拟机介绍
08:59
10-JVM的位置
03:44
11-JVM的整体结构
06:24
12-Java代码执行流程
05:17
13-区分栈的指令集架构和寄存器的指令集架构
14:28
14-JVM的生命周期
11:11
15-SUN Classic VM的介绍
09:15
16-Exact VM的介绍
03:18
17-HotSpot VM的介绍
05:38
18-JRockit VM的介绍
04:33
19-IBM J9 VM的介绍
05:37
20-KVM、CDC、CLDC的介绍
03:05
21-Azul VM和BEA Liquid VM的介绍
03:04
22-Apache Harmony的介绍
02:53
23-Microsoft JVM和TaobaoJVM
05:34
24-Dalvik VM及其他虚拟机的介绍
05:04
25-Graal VM的介绍
03:14
26-内存结构概述
08:44
27-概述类的加载器及类加载过程
09:38
28-类的加载过程一:Loading
04:33
29-类的加载过程二:Linking
09:42
30-类的加载过程三:Initialization
22:31
31-几种类加载器的使用体会
13:23
32-引导类、扩展类、系统类加载器的使用及演示
11:49
33-为什么需要用户自定义类加载器及具体实现
08:19
34-ClassLoader的常用方法及获取方法
05:30
35-双亲委派机制的工作原理及演示
13:23
36-双亲委派机制的优势
05:23
37-沙箱安全机制
02:08
38-类的主动使用与被动使用等
06:44
39-运行时数据区内部结构
16:34
40-JVM中的线程说明
05:34
41-PC寄存器概述
11:04
42-PC寄存器的使用举例
10:27
43-解决PC寄存器两个面试问题
09:42
44-虚拟机栈的主要特点
22:21
45-虚拟机栈的常见异常与如何设置栈大小
11:43
46-栈的存储结构和运行原理
25:34
47-栈桢的内部结构
07:38
48-局部变量表结构的认识
16:14
49-字节码中方法内部结构的剖析
13:24
50-变量槽slot的理解与演示
14:02
51-静态变量与局部变量的对比及小结
09:01
52-操作数栈的特点
11:43
53-涉及操作数栈的字节码指令执行分析
16:11
54-栈顶缓存技术
08:56
55-动态链接的理解与常量池的作用
18:24
56-方法的绑定机制:静态绑定与动态绑定
16:03
57-4种方法调用指令区分非虚方法与虚方法
17:41
58-invokedynamic指令的使用
11:15
59-方法重写的本质与虚方法表的使用
15:35
60-方法返回地址的说明
14:18
61-栈桢中的一些附加信息
00:57
62-虚拟机栈的5道面试题
23:19
63-本地方法接口的理解
18:14
64-本地方法栈的理解
08:17
65-JVM学习路线与内容回顾
14:35
66-堆空间的概述_进程中堆的唯一性
15:28
67-堆空间关于对象创建和和GC的概述
17:38
68-堆的细分内存结构
12:59
69-堆空间大小的设置和查看
21:29
70-OOM的说明与举例
09:40
71-新生代与老年代中相关参数的设置
20:37
72-图解对象分配的一般过程
18:25
73-对象分配的特殊情况
06:38
74-代码举例与JVisualVM演示对象的分配过程
05:38
75-常用优工具概述与Jprofiler的演示
04:01
76-MinorGC、MajorGC和FullGC的对比
17:26
77-GC举例与日志分析
09:28
78-体会堆空间分代的思想
05:09
79-总结内存分配策略
12:56
80-堆空间为每个线程分配的TLAB
09:55
81-小结堆空间的常用参数设置
18:45
82-通过逃逸分析看堆空间的对象分配策略
18:43
83-代码优化之栈上分配
07:46
84-代码优化之同步省略
04:58
85-代码优化之标量替换
06:49
86-代码优化及堆的小结
06:31
87-方法区概述_栈堆方法区间的交互关系
11:42
88-方法区的基本理解
17:27
89-Hotspot中方法区的演进
09:37
90-设置方法区大小的参数
14:52
91-OOM:PermGen和OOM:Metaspace举例
09:58
92-方法区的内部结构1
21:14
93-方法区的内部结构2
08:13
94-class文件中常量池的理解
18:12
95-运行时常量池的理解
06:38
96-图示举例方法区的使用
16:45
97-方法区在jdk6、jdk7、jdk8中的演进细节
25:21
98-StringTable为什么要调整位置
05:27
99-如何证明静态变量存在哪
11:15
100-方法区的垃圾回收行为
11:10
101-运行时数据区的总结与常见大厂面试题说明
06:25
102-对象实例化的几种方式
10:05
103-字节码角度看对象的创建过程
06:12
104-对象创建的六个步骤
22:07
105-对象的内存布局
11:00
106-对象访问定位
07:48
107-直接内存的简单体验
07:53
108-使用本地内存读写数据的测试
07:49
109-直接内存的00M与内存大小的设置
10:44
110-执行引擎的作用及工作过程概述
18:47
111-Java程序的编译和解释运行的理解
10:11
112-机器码_指令_汇编_高级语言理解与执行过程
15:40
113-解释器的使用
11:00
114-HotspotVM为何解释器与JIT编译器并存
17:32
115-热点代码探测确定何时JIT
16:53
116-Hotspot设置模式_C1与C2编译器
15:20
117-Graal编译器与AOT编译器
07:41
118-String的不可变性
21:34
119-String底层Hashtable结构的说明
15:57
120-String内存结构的分配位置
09:46
121-两个案例熟悉String的基本操作
11:20
122-字符串拼接操作的面试题讲解
14:01
123-字符串变量拼接操作的底层原理
17:21
124-拼接操作与append操作的效率对比
10:01
125-intern()的理解
11:46
126-new String()到底创建了几个对象
12:25
127-关于intern()的面试难题
13:40
128-面试的拓展问题
06:21
129-intern()的课后练习1
08:05
130-intern()的课后练习2
04:04
131-intern()的空间效率测试
12:31
132-StringTable的垃圾回收测试
05:32
133-G1垃圾收集器的String去重操作
08:38
134-垃圾回收相关章节的说明
08:18
135-什么是GC,为什么需要GC
19:45
136-了解早期垃圾回收行为
04:08
137-Java自动内存管理介绍
08:11
138-垃圾回收相关算法概述
09:17
139-引用计数算法的原理及优缺点
13:47
140-Java代码举例_Python的引用计数实施方案
08:25
141-可达性分析算法与GC Roots
12:41
142-对象的finalization机制
18:34
143-代码演示可复活的对象
07:37
144-使用MAT查看GC Roots
13:42
145-使用JProfiler进行GC Roots溯源
06:38
146-使用JProfiler分析OOM
03:32
147-标记-清除算法原理及优缺点
16:08
148-复制算法原理及优缺点
14:01
149-标记-压缩算法原理及优缺点
11:16
150-不同指标上对比三种算法
04:38
151-分代收集算法的说明
12:36
152-增量收集算法原理及优缺点
09:14
153-分区算法的说明
03:59
154-垃圾回收相关概念的概述
10:11
155-System.gc()的理解
08:47
156-手动gc理解不可达对象的回收行为
10:18
157-内存溢出的分析
11:40
158-内存泄漏的分析
13:04
159-StopTheWorld事件的理解
10:57
160-程序的并行与并发
06:33
161-垃圾回收的并行与并发
03:39
162-安全点与安全区域的说明
09:01
163-Java中几种不同引用的概述
10:54
164-强引用:不回收
06:35
165-软引用:内存不足即回收
16:30
166-弱引用:发现即回收
08:02
167-虚引用:对象回收跟踪
13:29
168-终结器引用的介绍
01:45
169-垃圾回收器章节概览
05:07
170-垃圾回收器的分类
15:31
171-GC性能指标的整体说明
09:16
172-吞吐量与暂停时间的对比说明
09:41
173-垃圾回收器的发展迭代史
17:06
174-垃圾回收器的组合关系
12:49
175-如何查看默认的垃圾回收器
06:22
176-Serial与Serial Old垃圾回收器的介绍
08:54
177-如何设置使用Serial垃圾回收器
04:43
178-ParNew垃圾回收器的介绍
07:22
179-如何设置使用ParNew垃圾回收器
03:58
180-Parallel与Parallel Old垃圾回收器的介绍
08:56
181-Parallel垃圾回收器的相关参数设置
17:29
182-CMS垃圾回收器概述与工作原理
12:45
183-CMS的特点与弊端分析
15:58
184-CMS垃圾回收器的参数设置
09:06
185-CMS的小结及后续JDK版本中的变化
03:45
186-认识G1垃圾回收器
14:52
187-G1垃圾回收器的优势和不足
20:24
188-G1的参数设置
09:12
189-G1在生产环境的适用场景
03:58
190-region的使用介绍
11:36
191-G1垃圾回收器的主要回收环节
08:14
192-记忆集与写屏障
08:24
193-G1垃圾回收过程的详细说明
24:16
194-G1垃圾回收的优化建议
04:11
195-7种经典的垃圾回收器总结与调优建议
14:02
196-常用的显示GC日志的参数
13:30
197-GC日志中垃圾回收数据的分析
09:03
198-举例说明日志中堆空间数据如何解读
10:16
199-日志分析工具的使用
07:29
200-新时期的Epsilon和Shenandoah垃圾回收器
13:21
201-革命性的ZGC的性能介绍
09:03
202-其他的厂商的垃圾回收器
01:41
203-最后寄语
09:42
204-JVM中篇内容概述
11:51
205-字节码文件的跨平台性
13:12
206-了解Java的前端编译器
08:30
207-透过字节码看代码执行细节举例1
11:15
208-透过字节码看代码执行细节举例2
03:51
209-透过字节码看代码执行细节举例3
11:52
210-解读Class文件的三种方式
15:47
211-Class文件本质和内部数据类型
15:58
212-Class文件内部结构概述
08:00
213-字节码数据保存到excel中的操作
07:28
214-Class文件的标识:魔数
06:33
215-Class文件版本号
09:40
216-常量池概述
05:50
217-常量池计数器
03:53
218-常量池表中的字面量和符号引用
15:49
219-解析得到常量池中所有的常量
16:34
220-常量池表数据的解读1
10:31
221-常量池表数据的解读2
10:53
222-常量池表项数据的总结
08:13
223-访问标识
08:20
224-类索引、父类索引、接口索引集合
07:41
225-字段表集合的整体理解
08:13
226-字段表数据的解读
12:01
227-方法表集合的整体理解
06:51
228-方法表数据的解读
10:48
229-属性表集合的整理理解
04:47
230-方法中Code属性的解读
13:44
231-LineNumberTable和LocalVariableTable属性的解读
21:34
232-SourceFile属性的解读
07:45
233-Class文件结构的小结
03:42
234-javac -g操作的说明
13:21
235-javap主要参数的使用
21:16
236-javap解析得到的文件结构的解读
21:19
237-javap使用小结
05:05
238-字节码指令集的概述
14:33
239-指令与数据类型的关系及指令分类
10:11
240-加载与存储指令概述
08:12
241-再谈操作数栈与局部变量表
07:24
242-局部变量压栈指令
08:44
243-常量入栈指令
14:13
244-出栈装入局部变量表指令
14:25
245-算术指令及举例
20:37
246-算法指令再举例
06:23
247-彻底搞定++运算符
08:15
248-比较指令的说明
02:46
249-宽化类型转换
17:32
250-窄化类型转换
18:50
251-创建类和数组实例的指令
16:11
252-字段访问指令
11:21
253-数组操作指令
12:14
254-类型检查指令
04:18
255-方法调用指令
15:35
256-方法返回指令
07:51
257-操作数栈管理指令
19:20
258-比较指令
08:29
259-条件跳转指令
23:00
260-比较条件跳转指令
08:16
261-多条件分支跳转指令
14:11
262-无条件跳转指令
15:33
263-抛出异常指令
14:07
264-异常处理与异常表
24:25
265-同步控制指令
24:14
266-类的生命周期概述
15:57
267-加载完成的操作及二进制的获取方式
07:24
268-类模型与Class实例的位置
08:19
269-链接之验证环节
13:41
270-链接之准备环节
11:15
271-链接之解析环节
11:58
272-初始化过程与类初始化方法
08:46
273-初始化阶段赋值与准备阶段赋值的对比
26:33
274-类初始化方法clinit()的线程安全性
07:02
275-何为类的主动使用和被动使用
04:03
276-类的主动使用1
08:00
277-类的主动使用2
13:54
278-类的主动使用3
11:43
279-类的主动使用4
07:46
280-类的被动使用
14:11
281-类的使用介绍
04:59
282-类的卸载相关问题
15:47
283-类加载器的概述
12:35
284-命名空间与类的唯一性
15:57
285-类的加载器的分类
07:32
286-引导类加载器的说明
09:02
287-扩展类加载器的说明
06:17
288-系统类加载器的说明
04:53
289-用户自定义类加载器的说明
02:09
290-测试不同类使用的类加载器
09:10
291-ClassLoader与Launcher的初步剖析
11:50
292-ClassLoader的源码解析1
15:04
293-ClassLoader的源码解析2
07:08
294-ClassLoader子类的结构剖析
05:16
295-双亲委派机制的优势与劣势
22:02
296-三次双亲委派机制的破坏
15:32
297-热替换的代码实现
07:16
298-沙箱安全机制
05:36
299-自定义类加载器的好处和应用场景
05:43
300-自定义类加载器的代码实现
15:57
301-Java9的新特性
15:13
302-性能监控与调优篇概述
11:53
303-见识一下大厂面试题
04:38
304-为什么调优及监控的依据
04:28
305-性能优化的三部曲
07:40
306-4个性能测试指标及相关关系
11:08
307-JVM命令行监控工具的概述
09:11
308-jps:查看正在运行的Java进程
14:40
309-jstat:基本语法
11:44
310-jstat:如何排查OOM和内存泄漏
18:42
311-jinfo:实时查看和修改JVM配置参数
12:41
312-PrintFlagsFinal的使用
03:18
313-jmap:各种option参数说明
10:08
314-导出dump堆转储快照文件的两种方式
15:09
315-jmap:如何显示堆内存等功能
10:12
316-jhat:JDK自带堆分析工具
10:39
317-jstack:追踪JVM中线程快照
16:53
318-jcmd:多功能命令行工具
12:14
319-jstatd:远程主机信息收集
02:20
320-JVM监控及诊断的GUI工具概述
08:37
321-jConsole的使用
12:27
322-VisualVM的安装及连接方式
12:28
323-VisualVM的基本功能
08:32
324-VisualVM生成和查看堆dump文件
07:07
325-Visual生成和分析线程dump文件
02:50
326-VisualVM的CPU抽样和内存抽样
05:57
327-MAT概述_获取dump的四种方式
13:17
328-MAT界面主要功能概览
19:43
329-MAT中Histogram的功能演示
08:47
330-基于对象的出引用与入引用分析内存泄漏
10:48
331-ShallowHeap与RetainedHeap
11:31
332-案例分析:StudentTrace
20:57
333-支配树的理解及应用
15:42
334-案例:Tomcat堆溢出分析
10:04
335-内存泄漏的理解与分类
09:42
336-内存泄漏的8种情况
19:29
337-内存泄漏分析案例1
05:18
338-内存泄漏分析案例2
05:37
339-OQL语句的使用举例
12:40
340-JProfiler的使用概述
11:12
341-JProfiler的安装和配置
07:53
342-两种数据采集方式
07:10
343-遥感监测视图中相关监测数据
05:23
344-内存视图的分析
12:52
345-Heap Walker功能演示
07:29
346-CPU视图的功能说明
05:18
347-Threads视图的功能说明
05:02
348-JProfiler使用案例1
02:57
349-JProfiler使用案例2
08:03
350-为什么要引入Arthas
06:43
351-Arthas的安装及对Java进程的监控
12:06
352-Arthas中基础指令的使用
08:02
353-dashboard命令和thread命令
08:28
354-sysprop命令和heapdump命令
03:10
355-sc命令和sm命令
06:34
356-jad命令_mc命令_classloader命令
06:31
357-monitor_watch_trace_stack_tt命令
12:53
358-Arthas的其它相关命令
05:09
359-JMC介绍_实时JVM监控
11:47
360-Java Flight Recorder介绍和取样分析
10:01
361-火焰图的使用介绍
04:40
362-Tprofiler等工具的介绍
05:48
363-JVM参数选项类型1:标准参数选项
07:38
364-JVM参数选项类型2:-X参数选项
07:22
365-JVM参数选项类型3:-XX参数选项
10:03
366-如何添加JVM参数选项的说明
11:23
367-打印设置的XX选项及值
04:28
368-栈、堆、方法区内存的相关VM参数选项设置
18:06
369-OutOfMemory相关VM参数选项的设置
12:35
370-回顾经典的GC及相互搭配关系
06:36
371-不同垃圾回收器的VM参数选项设置
20:18
372-GC日志相关VM参数选项的设置
18:07
373-了解其他VM参数选项
03:11
374-通过Java代码获取JVM参数
02:41
375-复习GC的分类
13:44
376-GC日志的分类
06:45
377-MinorGC的日志解析
06:56
378-FullGC的日志解析
04:43
379-在线日志分析工具:GCEasy
14:29
380-其它日志分析工具:GCViewer、GChisto、HPjmeter
04:39
381-OOM及性能优化案例与解决方案
18:16
分享新春记录,瓜分万元奖金
客服
顶部
赛事库 课堂 2021拜年纪