《JVM开发实战和性能调优》--架构师系列经典课程

课程内容:

     JVM开发实战和性能调优,大致包括:
         1:JVM机制和原理
         2:JVM性能监控和调优
         3:JVM调优实战

主讲老师:CC老师

     20年Java开发和使用经验,多年的首席架构师和CTO,拥有Sun的多项Java和J2EE方面的技能认证,拥有丰富的开发经验和深厚的技术沉淀,精通Java/JavaEE相关技术和多种开源框架,尤其擅长系统分析和架构设计。
     拥有多年项目经理、技术部经理的管理经验,参与和领导了上百个大中型项目的设计和开发,在互联网应用系统架构、系统设计、应用级框架和中间件开发等方面具有很多经验和领悟。
     原创著作《研磨设计模式》和《研磨Struts2》广受好评,尤其是《研磨设计模式》,一直稳居原创设计模式类图书第一的位置,并输出版权到台湾。
     更为难得的是,入行20年,仍然奋战在技术一线,深知一线架构师需要掌握哪些技术、掌握到什么程度、一线架构设计会遇到哪些坑、如何才能做出最合适的架构设计,经验最难得!老师把这些经验和感悟都融合到课程中,能帮你节省很多走弯路的时间。

课程大纲:

第01节课:整体课程概览、认识JVM、JVM规范:字节码指令集、数据类型和值、栈帧、特殊方法、类库等
第02节课:Class文件格式-1,通过阅读示例类的字节码、JVM规范来同步学习和理解。
第03节课:Class文件格式-2,继续阅读示例类的字节码 和 JVM规范
第04节课:Class文件格式-3;学习ASM的基本开发、编程模型
第05节课:代码示例使用ASM和ASMifer工具,来开发一个类似AOP功能的时间统计工具
第06节课:类加载、连接和初始化的基本知识;代码示例查看运行期的ClassLoader;类加载器和双庆委派模型
第07节课:代码示例双亲模型、破坏双亲模型的情况
第08节课:类的连接,主要要验证的内容、解析;类的初始化;代码示例各种主动使用类的初始化时机;类的卸载
第09节课:内存分配-1:JVM的简化架构、运行时数据区、PC寄存器、Java栈、Java堆、方法区、元空间、运行时常量池、本地方法栈;具体学习堆的结构:Eden区、存活区、老年代;对象在内存中存储的布局
第10节课:内存分配-2:Java堆的参数,代码示例参数配置的影响、各种情况的内存溢出;MAT的基本使用;GC日志格式等
第11节课:内存分配-3:代码示例新生代、老年代、Eden区、存活区各自内存分配大小的设置;代码示例栈溢出、元空间的溢出
第12节课:字节码执行引擎-1:深入理解栈帧、理解运行期操作数和局部变量表之间的交互关系
第13节课:字节码执行引擎-2:理解方法调用、代码示例来理解静态分派和动态分派、理解如何执行方法中的字节码指令
第14节课:垃圾回收-1:什么是垃圾、引用计数法、根搜索算法、代码示例引用分类(强引用、软引用、弱引用、虚引用)第一部分
第15节课:垃圾回收-2:代码示例引用分类(强引用、软引用、弱引用、虚引用)第二部分、判断是否垃圾的步骤、代码示例finalize方法挽救对象;GC类型、Stop-The-World等
第16节课:垃圾收集算法:标记清除法、复制算法、分配担保、标记整理算法;垃圾收集器-1:Serial(串行)收集器/Serial Old收集器,代码示例使用;ParNew(并行)收集器、新生代Parallel Scavenge收集器/Parallel Old收集器
第17节课:垃圾收集器-2:CMS(并发标记清除)收集器、G1(Garbage-First)收集器,代码示例他们的使用;GC性能、JVM内存配置原则等
第18节课:高效并发-1:Java内存模型、内存间交互操作、内存间交互操作的规则;代码示例volatile在多线程环境下仍然是不安全的
第19节课:高效并发-2:指令重排、指令重排的基本原则,代码示例指令重排;多线程中的有序性、Java线程安全的处理方法
第20节课:高效并发-3:锁的优化,并代码示例:自旋锁与自适应自旋、锁消除、锁粗化、偏向锁;JVM中获取锁的步骤
第21节课:性能监控与故障处理工具-1:jps、jinfo、jstack、jmap、jhat、jstat的基本功能和基本用法
第22节课:性能监控与故障处理工具-2:jstatd、jsadebugd、jcmd、图形化工具JMC的基本功能和基本用法
第23节课:性能监控与故障处理工具-3:图形化工具jconsole、jvisualvm的基本功能和基本用法
第24节课:性能监控与故障处理工具-4:远程连接(jmx 和 jstatd 两种方式)、代码示例 线程占用、内存分配溢出、线程死锁等,通过监控工具去监测和辅助解决
第25节课:调优实战-1:调什么、如何调、JVM调优的目标、JVM调优冷思考、常见调优策略、调优经验、内存泄漏等
第26节课:调优实战-2:通过一个示例来系统的演示调优的步骤和方法

适应人群

     1:有一定工作经验,还未从事架构工作,但想要向架构方面发展的朋友
     2:已经开始从事架构工作,但想要系统学习提升的朋友
     3:已经掌握阶段一和阶段二课程的内容,想要继续深化、更加实战化的朋友
     4:有一定开发经验,想要系统学习架构方面的知识,扩展知识面和提升开发能力的朋友

特别说明

     1:本课程是关注于架构设计,不关注业务设计,所以想要学习业务建模、软件的概要或详细设计的朋友,不适合选择本课程,对于软件设计方面的内容,我们会开设专门的软件设计类课程进行讲述,比如:框架设计、API设计、系统建模、设计模式综合应用、软件系统重构等等。
     2:毕竟软件架构和软件设计关注的是不同层面的东西,当然,在国内目前的情况是,很多公司的软件架构和软件设计是同一批人员。不过由于内容实在太多,因此我们把软件架构和软件设计分开成不同的课程体系。

下载说明(免费下载 免费学习)

     登录后才能获取具体下载信息,请点击前往登录 您的账号信息不全,需完善信息才能获取具体下载信息,请点击前往完善信息 点击查看下载信息