小册介绍
也许你写了无数行代码,会用很多炫酷的语法糖和高级的框架,但你未必了解这些高级语言背后的执行过程。即使对于一名经验丰富的 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 多人的开发团队做教育相关的产品。
因为喜