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

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

深入剖析 JVM 字节码,带你分析字节码黑科技、破解软件、从零实现一个 APM
挖坑的张师傅
28讲 | 4828人已学习
优惠价¥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 协议不再是拦路虎
挖坑的张师傅
7966人已学习
优惠价¥49.9
官网购买
给开发者的底层原理课 - 掘金小册课程推荐/分享/优惠/折扣
给开发者的底层原理课
深入掌握计算机底层原理,升级技术内功
挖坑的张师傅
655人已学习
优惠价¥69.9
官网购买

推荐

践行DevOps:  打造容器化时代的研发管理平台 - 掘金小册课程推荐/分享/优惠/折扣
践行DevOps: 打造容器化时代的研发管理平台
从 0 到 1 搭建先进的研发管理平台,借助容器化技术助力研发团队实践 DevOps,提高团队内部生产管理和交付效率
好吃西红柿
783人已学习
优惠价¥29.9
官网购买
TypeScript 全面进阶指南 - 掘金小册课程推荐/分享/优惠/折扣
TypeScript 全面进阶指南
从类型编程到工程实践, 迈向 TypeScript 高级玩家
林不渡
6373人已学习
优惠价¥59.9
官网购买
Flutter 手势探索 - 执掌天下 - 掘金小册课程推荐/分享/优惠/折扣
Flutter 手势探索 - 执掌天下
Flutter 手势探索,用你的手指,掌控着整个屏幕世界 ~
张风捷特烈
2074人已学习
优惠价¥3.5
官网购买
Android 性能优化 - 掘金小册课程推荐/分享/优惠/折扣
Android 性能优化
原理+实战+进阶,全面掌握 Android 性能优化
helson赵子健
1187人已学习
优惠价¥39.9
官网购买
Flutter 动画探索 - 流光幻影 - 掘金小册课程推荐/分享/优惠/折扣
Flutter 动画探索 - 流光幻影
Flutter 动画探索,一起去见证 Flutter 动画的风采 ~
张风捷特烈
2284人已学习
优惠价¥3.5
官网购买
React Hooks 与 Immutable 数据流实战 - 掘金小册课程推荐/分享/优惠/折扣
React Hooks 与 Immutable 数据流实战
以实战为线索,逐步深入React开发各个环节,掌握前端常用性能体验优化思路,打造完整前端工作流,提升工程化编码能力和思维能力。
神三元
5615人已学习
优惠价¥39.9
官网购买