有需要此课程 加微信:aa544731152,重在分享 希望大家在编程之路上越走越远
本套课程从虚拟机的发展历史,虚拟机的内存结构,对象的分配与回收以及字节码,类加载等多个方面深入地对Java虚拟机进行了剖析。内容详实,语言通俗易懂。理论结合实践,让学习本套视频的朋友可以更快的理解虚拟机的原理,以解决虚拟机所带来的性能瓶颈以及由于虚拟机的不正当参数所导致各种问题。
课程基于jdk7来讲解,环境是使用最新版jdk8,对于jdk8的新特性也会提及。课程以小节的形式发布,每个小节一个内容,每节尽可能独立。课程实战性强,以java虚拟机的内存结构为例,先讲了内存的结构,然后针对每个结构具体讲解。然后讲解监控工具,监控内存,线程等,然后讲三个案例贯穿整个内容
就像使用浏览器打开网页,使用微信聊天一样,运行Java应用需要java虚拟机。我们似乎并不去关注浏览器是如何实现的,也不需要知道微信是如何通信的,我们只要根据其规则来使用就可以了。对于java虚拟机也是同样,因为虚拟机自身隐藏了底层技术的复杂性以及操作系统的差异性,开发者只需要了解其api,并不需要了解其内部原理就能够编写出可运行程序。
然而,凡事都有两面性,当我们对于程序的性能,稳定性等等都有较高的要求的时候,这个时候看起来智能的虚拟机也就没这么智能了,我们就需要对虚拟机的内部结构深入了解之后,才能够根据业务需求,根据自身的情况设定合适的虚拟机参数,才能够让虚拟机高效稳定的运行。另外对于应用运行过程中出现的问题,也只有了解了虚拟机的结构之后才能够对问题进行准确定位。所以在java开发体系中,对系统调优师这一角色需求很大。学习虚拟机中各种运作特性的原理也成为java程序员成长道路上必然会接触到的一课。
课程大纲
- 第4节
- jvm初体验-内存溢出问题的分析与解
- 第5节
- jvm再体验-jvm可视化监控工
- 第6节
- 杂谈
- 第7节
- Java的发展历史
- 00:27:24分钟 |
- 第8节
- Java的发展历史续
- 00:02:27分钟 |
- 第9节
- Java技术体系
- 00:08:46分钟 |
- 第10节
- jdk8的新特性
- 00:07:31分钟 |
- 第11节
- lanmbda表达式简介
- 00:07:02分钟 |
- 第12节
- Java虚拟机-classic vm
- 00:06:06分钟 |
- 第13节
- Java虚拟机-ExactVM
- 00:03:35分钟 |
- 第14节
- Java虚拟机-HotSpotVM
- 00:04:23分钟 |
- 第15节
- Java虚拟机-kvm
- 00:03:04分钟 |
- 第16节
- Java虚拟机-JRockit
- 00:04:12分钟 |
- 第17节
- Java虚拟机-j9
- 00:04:23分钟 |
- 第18节
- Java虚拟机-dalvik
- 00:02:20分钟 |
- 第19节
- Java虚拟机-MicrosoftJVM
- 00:03:57分钟 |
- 第20节
- Java虚拟机-高性能Java虚拟机
- 00:02:58分钟 |
- 第21节
- Java虚拟机-TaobaoVM
- 00:03:06分钟 |
- 第22节
- Java内存区域-简介
- 00:07:56分钟 |
- 第23节
- Java内存区域-Java虚拟机栈
- 00:12:04分钟 |
- 第24节
- Java内存区域-程序计数器
- 00:12:54分钟 |
- 第25节
- Java内存区域-本地方法栈
- 00:02:39分钟 |
- 第26节
- Java内存区域-堆内存
- 00:05:08分钟 |
- 第27节
- Java内存区域-方法区
- 00:06:32分钟 |
- 第28节
- Java内存区域-直接内存和运行时常量池
- 00:15:53分钟 |
- 第29节
- 对象在内存中的布局-对象的创建
- 00:21:19分钟 |
- 第30节
- 探究对象的结构
- 00:13:47分钟 |
- 第31节
- 深入理解对象的访问定位
- 00:08:01分钟 |
- 第32节
- 垃圾回收-概述
- 00:06:20分钟 |
- 第33节
- 垃圾回收-判断对象是否存活算法-引用计数法详解
- 00:14:08分钟 |
- 第34节
- 垃圾回收-判断对象是否存活算法-可达性分析法详解
- 00:07:09分钟 |
- 第35节
- 垃圾回收算法-标记清除算法
- 00:04:36分钟 |
- 第36节
- 垃圾回收算法-复制算法
- 00:14:35分钟 |
- 第37节
- 垃圾回收算法-标记整理算法和分代收集算法
- 00:05:24分钟 |
- 第38节
- 垃圾收集器-serial收集器详解
- 00:09:45分钟 |
- 第39节
- 垃圾收集器-parnew收集器详解
- 00:04:53分钟 |
- 第40节
- 垃圾收集器-parallel收集器详解
- 00:11:02分钟 |
- 第41节
- 垃圾收集器-cms收集器详解
- 00:14:58分钟 |
- 第42节
- 最牛的垃圾收集器-g1收集器详解
- 00:18:04分钟 |
- 第43节
- 内存分配-概述
- 00:04:23分钟 |
- 第44节
- 内存分配-Eden区域
- 00:22:51分钟 |
- 第45节
- 内存分配-大对象直接进老年代
- 00:06:42分钟 |
- 第46节
- 内存分配-长期存活的对象进入老年代
- 00:03:40分钟 |
- 第47节
- 内存分配-空间分配担保
- 00:04:54分钟 |
- 第48节
- 内存分配-逃逸分析与栈上分配
- 00:10:32分钟 |
- 第49节
- 虚拟机工具介绍
- 00:10:27分钟 |
- 第50节
- 虚拟机工具-jps详解
- 00:11:20分钟 |
- 第51节
- 虚拟机工具-jstat详解
- 00:09:20分钟 |
- 第52节
- 虚拟机工具-jinfo详解
- 00:05:03分钟 |
- 第53节
- 虚拟机工具-jmap详解
- 00:08:48分钟 |
- 第54节
- 虚拟机工具-jhat详解
- 00:08:10分钟 |
- 第55节
- 虚拟机工具-jstack详解
- 00:10:19分钟 |
- 第56节
- 可视化虚拟机工具-Jconsole内存监控
- 00:07:09分钟 |
- 第57节
- 可视化虚拟机工具-Jconsole线程监控
- 00:12:18分钟 |
- 第58节
- 死锁原理以及可视化虚拟机工具-Jconsole线程死锁监控
- 00:10:38分钟 |
- 第59节
- VisualVM使用详解
- 00:08:03分钟 |
- 第60节
- 性能调优概述
- 00:11:22分钟 |
- 第61节
- 性能调优-案例1
- 00:23:28分钟 |
- 第62节
- 性能调优-案例2
- 00:10:05分钟 |
- 第63节
- 性能调优-案例3
- 00:12:41分钟 |
- 第64节
- 前半部分内容整体回顾
- 00:15:41分钟 |
- 第65节
- Class文件简介和发展历史
- [免费观看]
- 00:11:26分钟 |
- 第66节
- Class文件结构概述
- [免费观看]
- 00:16:50分钟 |
- 第67节
- Class文件设计理念以及意义
- [免费观看]
- 00:13:41分钟 |
- 第68节
- 文件结构-魔数
- [免费观看]
- 00:09:49分钟 |
- 第69节
- 文件结构-常量池
- [免费观看]
- 00:23:44分钟 |
- 第70节
- 文件结构-访问标志
- [免费观看]
- 00:11:36分钟 |
- 第71节
- 文件结构-类索引
- 00:11:26分钟 |
- 第72节
- 文件结构-字段表集合
- 00:13:21分钟 |
- 第73节
- 文件结构-方法表集合
- 00:10:06分钟 |
- 第74节
- 文件结构-属性表集合
- 00:18:23分钟 |
- 第75节
- 字节码指令简介
- 00:09:18分钟 |
- 第76节
- 字节码与数据类型
- 00:09:34分钟 |
- 第77节
- 加载指令
- 00:09:33分钟 |
- 第78节
- 运算指令
- 00:10:24分钟 |
- 第79节
- 类型转换指令
- 00:13:42分钟 |
- 第80节
- 对象创建与访问指令
- 00:09:38分钟 |
- 第81节
- 操作树栈指令
- 00:03:27分钟 |
- 第82节
- 控制转移指令
- 00:11:58分钟 |
- 第83节
- 方法调用和返回指令
- 00:06:37分钟 |
- 第84节
- 异常处理指令
- 00:09:44分钟 |
- 第85节
- 同步指令
- 00:07:34分钟 |
- 第86节
- 类加载机制概述
- 00:07:26分钟 |
- 第87节
- 类加载时机
- 00:13:15分钟 |
- 第88节
- 类加载的过程-加载
- 00:15:15分钟 |
- 第89节
- 类加载的过程-验证
- 00:10:24分钟 |
- 第90节
- 类加载的过程-准备
- 00:05:40分钟 |
- 第91节
- 类加载的过程-解析
- 00:14:04分钟 |
- 第92节
- 类加载的过程-初始化
- 00:19:41分钟 |
- 第93节
- 类加载器
- 00:22:41分钟 |
- 第94节
- 双亲委派模型
- 00:17:03分钟 |
- 第95节
- 运行时栈帧结构
- 00:08:46分钟 |
- 第96节
- 局部变量表
- 00:20:48分钟 |
- 第97节
- 操作数栈
- 00:08:36分钟 |
- 第98节
- 动态连接
- 00:02:56分钟 |
- 第99节
- 方法返回地址和附加信息
- 00:03:24分钟 |
- 第100节
- 方法调用-解析调用
- 00:09:49分钟 |
- 第101节
- 方法调用-静态分派调用
- 00:16:21分钟 |
- 第102节
- 方法调用-动态分派调用
- 00:09:02分钟 |
- 第103节
- 动态类型语言支持
- 00:09:27分钟 |
- 第104节
- 字节码执行引擎小结
- 00:03:38分钟 |
- 第105节
- 总结与回顾
- 00:10:55分钟 |
- 第106节
- happens-before简单概述
- 00:15:17分钟 |
- 第107节
- 重排序问题
- 00:23:19分钟 |
- 第108节
- 锁的内存语义
- 00:13:54分钟 |
- 第109节
- volatile的内存语义
- 第110节
- final域内存语义