打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小傅哥出书了《字节码编程》免费拿!既然市面缺少ASM、Javassist、Byte-buddy成体系的学习资料,那我来!

作者:小傅哥
博客:https://bugstack.cn

沉淀、分享、成长,让自己和他人都能有所收获!😄

让人怪不好意思的,说是出书有点膨胀💥,毕竟这不是走出版社的流程,选题、组稿、编著、审读、加工到出版发行。

但全书共计107页,11万7千字,20个章节涵盖三个字节码框架和JavaAgent使用并附带整套案例源码!

讲道理,市面上以及网络搜索中都基本很少有成体系的关于字节码编程的知识,这主要由于大部分开发人员其实很少接触这部分内容,包括;ASMJavassistByte-buddy以及JavaAgent,没有很大的市场也就没有很多的资料。但大家其实已经从其他的框架或者中间件中使用到,就像你用到的;Cglib、混沌工程、非入侵的全链路监控以及你是否使用过jetbrains-agent.jar做了某项实验?

所以这样的技术栈一直都萦绕在你身边,只是你还没有发现!当有一天面试问到了,那时你已经170斤工作五年。

蹭个车告诉你这个知识的重要性,阿里云的挑战赛,正在进行中(就需要这本书的知识点)。!

读不在三更五鼓,功只怕一曝十寒!,不一定一本书中就能读出个黄金屋,但脚下路的用什么垫都是自己日积月累。

就这本书他出炉了

介绍

初识字节码编程是从使用非入侵的全链路监控开始,在这之前我所了解的如果需要监控系统的运行状况,通常需要硬编码埋点或者AOP的方式采集方法执行信息;耗时、异常、出入参等来监控一个系统的运行健康度。而这样的监控方式在大量的系统中去改造非常耗时且不好维护,更不要说去监控一个业务流程的调用链路。

在2010年的时候,谷歌发布一篇名为《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》的论文,在文中介绍了谷歌生产环境中大规模分布式系统下的跟踪系统Dapper的设计和使用经验。

这样的监控系统采用 Javaagent 与字节码操作框架结合使用,在应用系统加载时对需要监控的方法进行字节码增强也叫插桩。对方法处理后的结果就和你之前硬编码类似,但这样就可以减轻认为操作,同时可以对多个系统之间定义调用链路ID进行串联业务流程关系。最终,极大减轻了监控成本也提高了线上问题的快速定位和处理。

这里面监控系统核心知识也主要是 Javaagent和字节码操作,在字节码操作中目前有三个比较常用的框架;ASMJavassistByte Buddy,这几个框架都能进行字节码操作,其中ASM 更偏向于底层,需要了解字节码指令以及操作数栈等知识,最好学习过《Java虚拟机规范》等书籍,另外两个框架是对 ASM 的封装,提供更加高级的API去操作字节码。

在本书中小傅哥会分别讲解这三种字节码框架的使用,以及最终与Javagent结合完成全链路监控的案例。通过这样的学习让你可以从有抓手的从案例开始,把枯燥的字节码编程融入场景,深化理解和实操应用。也能让你忙于CRUD开发的同时提升自己的知识栈,拓展技术视野。也许不久以后这项技术也能为你带来一些有价值的收获!

作者

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
2.4K Star,一个高性能、无侵入的性能监控和统计工具!
利用ClassFileTransformer实现aop
阿里巴巴服务网格技术三位一体战略背后的思考与实践
系统微服务化,始于拆分,重在治理
各大厂分布式链路跟踪系统架构对比
饿了么分布式服务治理及优化经验
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服