作者 kimmking
发布时间
更新时间 2020-06-12 15:58

专栏亮点

  1. 从 0 掌握 JVM 关键技术,了解核心知识;
  2. 全面了解各类 GC 算法的原理和特性,洞悉相关原理;
  3. 全面学习常见的 JVM 分析调优工具,上手十八般武艺;
  4. 一线大厂 JVM 面试题全面剖析,助力拿到心仪 Offer。

专栏介绍

近些年来,无论是使用规模、开发者人数,还是技术生态成熟度、相关工具的丰富程度,Java 都当之无愧是后端开发语言中不可撼动的王者,也是开发各类业务系统的首选语言。

时至今日,整个 IT 招聘市场上,Java 开发工程师依然是缺口最大,需求最多的热门职位。另外,从整个市场环境看,传统企业的信息化,传统 IT 系统的互联网化,都还有非常大的发展空间,由此推断未来 Java 开发的市场前景广阔,从业人员的行业红利还可以持续很长时间。

从权威的 TIOBE 编程语言排行榜 2019 年 11 月数据来看,Java 的流行程度也是稳居第一:

1c91b731-e86d-4b59-85b6-8b7ec53e87d6.jpg

4fead80b-dc2e-4c40-852f-c4bd22bab207.jpg

拉勾网 2019 年 9 月统计的招聘岗位比例,也可以看到 Java 和 JavaScript 是最高的,不过 Java 的求职难度只有 JavaScript 的 1/7

f5b072d7-2235-4814-ac63-3e90f0633629.jpg

Java 平均一个岗位有 4 个人竞争,而 JavaScript 则是 28 个,Perl 最夸张,超过 30 个。

d70b22b6-177c-443e-8ef1-957531028c60.jpg

而通过职友网的数据统计,北京、上海、杭州、深圳的 Java 程序员平均薪酬在 16-21K 之间,在广州、成都、苏州、南京等城市也有 11K-13K 的平均收入,远超一般行业的收入水平。

fd19dbb9-87e6-40bd-9d67-4455f1ee2513.jpg

所以学习 Java 目前还是一个非常有优势的职业发展选择。

而了解 JVM 则是深入学习 Java 必不可少的一环,也是 Java 开发人员迈向更高水平的一个阶梯。

我们不仅要会用 Java 写代码做系统,更要懂得如何理解和分析 Java 程序运行起来以后内部发生了什么,然后可以怎么让它运行的更好。就像我们要想多年开车的老司机,仅仅会开车肯定不能当一个好司机。车开多了,总会有一些多多少少大大小小的故障毛病。老司机需要知道什么现象说明有了什么毛病,需要怎么处理,不然就会导致经常抛锚,影响我们的行程。本课程就是用来教会我们怎么能够去了解 JVM 这辆优秀跑车的一些原理和怎么去用各种工具分析修理它。

市面上各类 JVM 相关的资料虽多如牛毛,但是明显都很难让大家系统性地学明白,同时一线大厂技术面试现在 JVM 知识也是必考科目。

在这个背景下,我们全面梳理了系统化学习 JVM 的知识和经验,包括 JVM 的技术和内存模型、JVM 参数和内置工具、GC 算法、GC 日志、内存和线程等相关问题排查分析,以及常见的面试问题深度剖析等高级的进阶方法与实战,既满足大家快速系统化学习和全面掌握知识的需求,又兼顾大家的面试经验辅导。

  • 通过体系化的学习,了解一般原理,知其然知其所以然;
  • 熟悉工具和方案,知道从何下手,工作中如何分析和解决问题;
  • 随着课程的演示和练习,加深理解,不管大家之前的基础如何,都能够融会贯通;
  • 面试题的解析部分,会根据大家的反馈进行持续更新,长期助力于大家的学习和进步。

本课程的特点可以总结为 16 个字:

深入浅出、实践为要、体系完整、层次分明

本课程分为两部分,基础知识篇主要介绍 JVM 的基础知识、JDK 相关的各种工具用法,深入分析篇讲解各种 GC 算法、如何进行 JVM 的 GC 日志、线程、内存等各类指标进行分析和问题诊断,再结合作者的实际分析调优经验,以及对于常见的 JVM 面试问题进行分析和解答,为学习者梳理清楚 JVM 的整体知识脉络,带来最全面的 JVM 一线经验和实用技巧。

专栏大纲

本次分享您将了解以下内容(22 课时):

avatar

基础知识篇

  1. 环境准备:千里之行,始于足下
  2. 常用性能指标:没有量化,就没有改进
  3. JVM 基础知识:不积跬步,无以至千里
  4. Java 字节码技术:不积细流,无以成江河
  5. JVM 类加载器:山不辞土,故能成其高
  6. JVM 内存模型:海不辞水,故能成其深
  7. JVM 启动参数详解:博观而约取、厚积而薄发
  8. JDK 内置命令行工具:工欲善其事,必先利其器
  9. JDK 内置图形界面工具:海阔凭鱼跃,天高任鸟飞
  10. JDWP 简介:十步杀一人,千里不留行
  11. JMX 与相关工具:山高月小,水落石出

深入分析篇

  1. 常见的 GC 算法介绍(Parallel/CMS/G1):温故而知新
  2. Java11 ZGC 和 Java12 Shenandoah 介绍:苟日新、日日新、又日新
  3. Oracle Graalvm 介绍:会当凌绝顶、一览众山小
  4. GC 日志解读与分析:千淘万漉虽辛苦,吹尽狂沙始到金
  5. JVM 的线程堆栈等数据分析:操千曲而后晓声、观千剑而后识器
  6. 内存 dump 和内存分析工具:万里赴戎机、关山度若飞
  7. fastthread 相关的工具介绍:欲穷千里目,更上一层楼
  8. 面临复杂问题时的几个高级工具:它山之石,可以攻玉
  9. JVM 问题排查分析调优经验:操千曲而后晓声,观千剑而后识器
  10. JVM 相关的常见面试问题汇总:运筹策帷帐之中,决胜于千里之外
  11. 应对容器时代面临的挑战:长风破浪会有时、直挂云帆济沧海

你能收获什么

  1. 夯实基础:掌握 JVM 的基础知识和常用工具,了解一般原理,知道从什么地方着手分析问题;
  2. 深入学习:掌握各类 GC 算法的一般原理,知道如何根据实际需要选择使用合适的 GC 策略;
  3. 分析问题:掌握 GC 日志、线程、内存等维度的分析技巧,知道排查问题和优化系统的套路;
  4. 积累经验:了解常见的分析调优经验,熟悉常见的面试问题和技巧,彻底学会 JVM 知识。

适宜人群

  1. 希望提高技术能力的 Java 开发者、运维工程师
  2. 对 JVM 技术和性能、问题分析调优感兴趣的技术人员
  3. 广大高校计算机和软件专业的师生

前置知识

  • 熟练掌握 Java 开发基础知识

作者介绍

avatar

avatar

购买须知

  • 本专栏为图文内容,共计 22 篇。
  • 每周二、四更新,预计于 2020 年 1 月 25 日更新完毕。
  • 付费用户可享受文章永久阅读权限。
  • 本专栏为虚拟产品,一经付费概不退款,敬请谅解。
  • 本专栏可在 GitChat 服务号、App 及网页端 gitbook.cn 上购买,一端购买,多端阅读。

订阅福利

  • 本专栏限时特价 49 元,12 月 26 日恢复至原价 69 元。
  • 订购本专栏可获得专属海报(在 GitChat 服务号领取),分享专属海报每成功邀请一位好友购买,即可获得 25% 的返现奖励,多邀多得,上不封顶,立即提现。
  • 提现流程:在 GitChat 服务号中点击「我-我的邀请-提现」。
  • 购买本专栏后,可加入读者群交流(入群方式可查看第 3 篇文末说明)。