JVM成神路终章:深入死磕Java虚拟机序列总纲

先附上之前画的JVM全景架构图

   时光荏苒,时间一点一点地流逝,不知不觉中半载光阴便稍纵即逝,犹如白驹过隙。继之前的《并发编程系列》后,JVM系列的文章至此也画上了句号,与《并发编程》系列相同,列出总纲目录方便诸位翻阅。

   在刚接触Java虚拟机时,JVM的一些常识认知,HotSpot虚拟机的“前世今生”以及Java虚拟机发展史上的一些趣事,作为了《JVM系列》的开篇:

   紧接着,作为Java代码入口的类加载子系统出现在了我们的视野中,本篇中对于虚拟机的类加载机制,从类加载过程、类加载器、双亲委派模型、自定义类加载器以及打破双亲委派等多方面进行全面阐述:

   Java源码编译后生成.class字节码文件,经类加载子系统载入内存后,究竟是如何被JVM执行的,这其中的神秘之处难免会令人好奇。因此,第三篇中则对于Java虚拟机的执行引擎子系统,从探讨机器指令、汇编、高级语言的关系出发,到.java文件的源码编译过程、解释器执行过程、热点探测机制、JIT即时编译原理以及分派调用实现等多方面,深入分析了JVM的执行子系统:

   一转眼,来到了JVM体系中被谈及最多的内容,也就是JVM运行时数据区,在该章中对虚拟机运行时的各个数据区、内存溢出OOM及内存泄漏问题进行了全方位的阐述:

   上章中分析了JVM运行时的各个数据区域,接着对Java应用中最重要的部分:Java对象进行了详细剖析,从一个对象的内存布局、对象分配过程、“生至死”历程、强弱软虚引用类型等多维度出发,对Java对象进行逐步拆解,从而让“对象”在我们面前再无秘密可言:

   清楚了JVM内存区域,剖析了Java对象之后,转场来到了Java虚拟机中的另外一个核心:GC垃圾收集子系统。但由于GC方面的内容颇多,因此拆解成了三篇分别论述,基础篇中主要阐述了:对象存活判定算法、垃圾回收算法、STW世界暂停、GC类型划分、安全点与安全区域等GC基础内容:

   在《基础篇》中详细了解了GC相关的基础知识后,《分代篇》中则对《基础篇》中的算法思想进行了落地实现,其中主要内容涵盖(新生代、年老代、串行、并行、并发)收集器、三色标记算法、记忆集-卡表实现、GC执行过程、GC日志解读,从多个维度拆解了JVM虚拟机中的六款分代垃圾收集器:

   《分代篇》中主要谈及JDK8及之前分代GC框架下的六款垃圾收集器,但后续新版本的JDK中,自G1起,涌现了一批不分代类型的高性能分区收集器。因此,在《分区篇》中则深入剖析了G1、ZGC、ShenandoahGC三款高性能收集器,自此后,“GC家族”凑齐十款垃圾收集器:

   前八个章节中更多的是处于原理剖析阶段,基于JVM中的核心点,在理论层次进行高谈阔论,但实操内容并未提及。因而,第九章以JVM参数拉开了实战序幕:

   拥有了完善的理论基础后,JVM线上实战实操必然也不能缺席,因此《线上排查篇》它来了!从线上排查思路、JDK监控工具开始,到OOM问题、内存泄漏问题、线程死锁问题、应用宕机问题、响应缓慢问题等多个线上灾难故障的排查实操,进行了全面实战:

   性能调优是一个如今炙手可热的名词,无论是在开发、面试过程中,性能优化都是一个老生常谈的话题,因此最后一章中,从系统性能优化的核心思维,到垃圾收集器相关的调优策略,再到阿里在线排查Arthas工具排查各问题,最后到不同场景下的JVM最佳配置推荐,进行了全面解读:

至此,JVM系列的文章还缺少了字节码方面以及一些冷门的内容没去分析,但就目前为止先暂且画上句号,后续诸君有需求再来补齐~

上述的《JVM系列》文中所有内容掌握后,不一定能让大家精通JVM,但至少能为各位构建出全面的JVM理论知识 + 实战体系!

如果你认为文章对于你有帮助,收藏的同时,也可以多多点赞、关注支持!

下期预告:《程序员的网络编程秘籍》或《漫谈分布式架构》。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容