深入JVM内核—原理、诊断与优化

课程介绍

目前,Java是更为流行的编程语言之一,它的基础平台就是JVM。除了Java,如JRuby、Scala、Clojure等语言也运行在JVM平台。

熟悉和掌握JVM平台有着重要的实用价值和意义。

在本课程中个,将详细介绍JVM的基本原理、组成以及工作方式,并配合实际案例,介绍相关的调优技巧。

课程大纲

初识JVM

  • JVM分类
  • Java语言规范
  • JVM规范

介绍JVM的基本知识和发展历史,并介绍了Java语言规范和JVM规范。

JVM运行机制简介

  • 堆、栈、方法区等
  • JVM启动流程
  • 内存模型和volatile实例
  • 解释和编译运行的概念

介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。

常用JVM参数

  • 堆的分配参数
  • 栈分配及实例讲解
  • server与client模式
  • 调试跟踪参数
  • 查看当前JVM参数的方法
  • JVM参数的设置方法演示

介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。

GC的算法和种类

  • 引用计数
  • 标记清除
  • 复制算法
  • 标记压缩
  • 可触及性
  • 介绍分代、分区的思想方法

本章是理论性较强的一章,主要介绍GC的基本算法和思想,本章作为下一章节的前序课程。

GC控制参数

  • Serial ParNew等GC参数
  • GC的参数搭配实例分析
  • 对G1进行介绍说明

介绍GC的设置参数,并分析相关的案列。

类装载

  • class装载流程
  • ClassLoader模式
  • ClassLoader的使用实例分析
  • 热替换例子

详细介绍ClassLoader的原理和应用。分析2个案例,说明ClassLoader的使用。

性能监控工具

  • 线程死锁分析
  • OOM分析

介绍常用的JVM诊断和分析工具,并以死锁和OOM为例,展示这些工具的使用。

分析Java堆

  • MAT的使用案例
  • Jvisualvm介绍使用
  • 演示MAT的使用方法

介绍了Java堆的分析方法,以一个实例为基础,展示对堆的分析过程。

  • baise锁
  • 轻量级锁
  • 自旋锁
  • JVM中加锁的实现过程源码分析

介绍JVM中对多线程锁的实现。

class文件结构与案例介绍

介绍JVM规范中的最重要的内容——Class文件结构,同时介绍ASM库的使用以及对class文件的修改。

字节码执行

  • 案例以及javap
  • ASM库介绍与使用
  • JIT及相关参数

介绍JVM的字节码以及反汇编方法,同时介绍JIT相关的参数和应用。

更多教程

教程不断整理更新中,以上截图仅供参考,如需了解更多视频教程的详细信息请到如下地址查看:

教程分类说明https://itvideos.github.io/categories/

获取方式

关于教程、获取方式、温馨提示

坚持原创技术分享,您的支持将鼓励我继续创作!