JVM 字节码从入门到精通- 掘金小册课程推荐/优惠

JVM 字节码从入门到精通--掘金小册课程推荐/优惠

深入剖析 JVM 字节码,带你分析字节码黑科技、破解软件、从零实现一个 APM
挖坑的张师傅
28讲 | 4836人已学习
优惠价¥39.9
官网优惠购买

版权声明

本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

课程介绍

小册介绍

也许你写了无数行代码,会用很多炫酷的语法糖和高级的框架,但你未必了解这些高级语言背后的执行过程。即使对于一名经验丰富的 Java 程序员,在阅读 Java 字节码的时候也会感到很枯燥。我们为什么需要深入了解如此底层的信息呢?

0x01 知其然到知其所以然,理解花里胡哨语法糖背后的实现原理

  • 有没有深究过「finally 代码块一定会执行」这个耳熟能详的规则背后真实的原因?
  • 有没有好奇过 Kotlin 的 when 语法、Coroutine 是如何实现的?
  • 有没有研究过 Spring AOP 背后的实现原理?

0x02 可以实现各种JVM 黑科技

  • ZeroTurnaround 公司开发的 JRebel 插件实现了热部署,XRebel 插件实现了开发调试阶段的性能分析利器;
  • fastjson 使用字节码改写技术避免了反射的开销,大大提高了反序列化的性能;
  • 不修改原始 jar 包的情况下,实现软件的破解?

0x03 无侵入应用性能监控(APM)的基石

从国外的 NewRelic 到国内大火的听云、OneAPM,到最近微信和 360 都开源的安卓端 APM,都是基于字节码改写来实现了强大的探针监控功能,可以在不改一行代码的情况下,实现移动端到后端的全链路监控,通过慢交互、慢加载、调用链等,快速查明故障域,定位性能瓶颈

作者介绍

我是挖坑的张师傅,vim 党。从事 Java 开发六年多,做过安卓,现在深耕后台开发,在 CVTE 担任技术经理,带一个 20 多人的开发团队做教育相关的产品。

因为喜欢保持简单,自己花了一些时间造了很多轮子,比如 REST 服务端框架、数据库连接池、SQL 执行框架、类 Dubbo 的 RPC 调用框架、自己实现 Gossip 协议、延时队列等。

曾有一段时间花了半年一个人吭哧吭哧做了一个无侵入的字节码注入的 APM 平台(跟听云、newrelic 一样的项目),对整个后端调用栈做了监控。把字节码操作玩的炉火纯青,顺手无侵入的破解了一系列 Java 系软件。

这是我写的第一本小册,第二本 TCP 小册 也上架了,有兴趣的话也可以了解一下,

你会学到什么?

  • 剖析 Java 虚拟机运行机制;
  • 理解语法糖背后的原理了解: Kotlin 等新兴语言;
  • 面试陷阱题背后真正的原因;
  • 用 Java 字节码黑科技来做一些有意思的事情,比如破解软件等;
  • 如何从零到一实现一个基于字节码注入的 APM 系统。

适宜人群

  • 对 Java 有了初步了解,想深入学习内部运行细节的同学;
  • 想对 Java 面试题有深刻理解的同学;
  • 想了解如何实现 APM 的同学。

关于答疑

有任何问题,可以加我微信讨论「zhangya_no1]

另外我还维护了一个公众号「张师傅的博客」,里面会发一些分布式理论、Java 原理、Go 语言汇编、MySQL 原理相关的知识

更新进度

课程目录

  • 字节码初体验 —— 从 Hello World 说起
  • 字节码原理初步 —— 基于栈的执行引擎
  • 褪下类文件的外衣 —— 抽丝剥茧看 class 文件内部结构
  • 字节码指令之控制转移 —— for 与 switch
  • 字节码指令之对象初始化 —— new, <init> & <clinit>
  • 字节码指令之方法调用 —— invoke 五兄弟
  • 匿名内部类与 lambda —— lambda 表达式背后的字节码原理
  • 运行时数据窥探 —— 用 HSDB 来探究多态实现的原理
  • 字节码角度分析面试题 —— i++、++i 傻傻分不清
  • 动态方法调用秘密武器 —— invokedynamic 指令解读
  • 字节码角度看面试题 —— try catch finally 为啥 finally 语句一定会执行
  • 字节码角度看语法糖 —— String 的 switch 实现
  • 字节码角度看 try with resource 语法糖 —— 资源释放不用慌
  • 字节码角度看 synchronized —— 窥探加锁解锁的细节
  • 字节码在手天下我有 —— 深入分析 Kotlin 1.2 处理 when 语法的超级大 bug
  • 心有 Java 细嗅 Kotlin —— 字节码细数 Kotlin 优雅的语法糖
  • 字节码角度看泛型 —— 万恶的擦除
  • 字节码调教的入口 —— JVM 的寄生插件 javaagent 那些事
  • 深入理解反射实现的原理
  • javac 源码调试和原理解析
  • 字节码操作的手术刀 —— 工业级的字节码改写框架 ASM 与 Javassist
  • 无处不在的字节码技术 —— ASM 在 cglib 与 fastjson 上的应用
  • 破解软件 —— 用直接修改字节码的方式
  • 教你用 Java 字节码做点有趣的事 ——无痛破解 Java 系软件
  • 化整为零 —— 一个可落地的 APM 整体架构
  • 代码未动,监控先行 —— APM 简介与分布式跟踪的基本原理
  • 道阻且长,行则将至
  • 分布式调用跟踪 —— APM 字节码注入的代码实现

作者介绍

机械工业出版社《深入理解 JVM 字节码》作者,掘金小册《深入理解TCP 协议》作者,公众号《张师傅的博客》作者,运营知识星球《张师傅的小密圈》。写一点 rust、go 和 kotlin。

作者其他课程

深入理解 TCP 协议:从原理到实战 - 掘金小册课程推荐/分享/优惠/折扣
深入理解 TCP 协议:从原理到实战
用实验和图解的方式带你深入理解 TCP 协议,让 TCP 协议不再是拦路虎
挖坑的张师傅
7982人已学习
优惠价¥49.9
官网优惠购买
给开发者的底层原理课 - 掘金小册课程推荐/分享/优惠/折扣
给开发者的底层原理课
深入掌握计算机底层原理,升级技术内功
挖坑的张师傅
698人已学习
优惠价¥69.9
官网优惠购买

推荐

深入浅出微前端 - 掘金小册课程推荐/分享/优惠/折扣
深入浅出微前端
微前端的技术深度相对于 React 或者 Vue 框架要简单很多,但是它的广度却涵盖了前端知识的方方面面。本课程将会带你系统了解微前端的运行本质,有助于你在业务广度和技术深度上更进一层。
子弈
2761人已学习
优惠价¥59.9
官网优惠购买
玩转 CSS 的艺术之美 - 掘金小册课程推荐/分享/优惠/折扣
玩转 CSS 的艺术之美
用简单易懂有趣的方式带你玩转CSS
JowayYoung
5115人已学习
优惠价¥19.9
官网优惠购买
技术写作指南 - 掘金小册课程推荐/分享/优惠/折扣
技术写作指南
十余年写作经验倾囊相授,全面提升你的技术写作能力!
张鑫旭
3371人已学习
优惠价¥19.9
官网优惠购买
基于 Node 的 DevOps 实战 - 掘金小册课程推荐/分享/优惠/折扣
基于 Node 的 DevOps 实战
通过基于 Node 的项目实战,可以对 DevOps 有更深一步了解,包括不限于开发环节、测试环节、构建和部署环节等等。
言萧凡_CookieBoty
2435人已学习
优惠价¥39.9
官网优惠购买
Qt + CEF + Node.js 桌面开发实战 - 掘金小册课程推荐/分享/优惠/折扣
Qt + CEF + Node.js 桌面开发实战
在 Qt 里内嵌 CEF ,然后在 CEF 里内嵌 Node.js,从 Qt 和 Node.js 两大框架里取长补短,打造一个加强版本的 Electron。
杨科山
504人已学习
优惠价¥29.9
官网优惠购买
SpringBoot 场景开发多面手成长手册 - 掘金小册课程推荐/分享/优惠/折扣
SpringBoot 场景开发多面手成长手册
多场景的开发整合+使用+核心原理剖析,广度深度全都要。
LinkedBear
901人已学习
优惠价¥49.9
官网优惠购买