源码
文章平均质量分 90
涨姿势
IT Panda
这个作者很懒,什么都没留下…
展开
-
从利用Arthas排查线上Fastjson问题到Java动态字节码技术(下)
从Arthas的源码引出了Java动态字节码技术,那么这一篇就从几种Java字节码技术出发,看看Arthas是如何通过动态字节码技术做到无侵入的源码增强;Java大部分情况下都是解释执行的,也就是解释.class文件,所以如果我们想对原代码进行增强的话,直接接的手段便是从源文件.java入手,使用静态代理、动态代理、装饰器等设计模式进行功能增强。但很多时候我们作为第三方,没有机会、不方便拿到源码时,这条路就走不通了;此时如果还是想继续其进行功能增强的话,那么只剩一条路了,就是直接对.class文件下手。原创 2023-09-17 08:34:16 · 207 阅读 · 0 评论 -
从利用Arthas排查线上Fastjson问题到Java动态字节码技术(中)
上一篇文章 中通过对一次线上事故的复盘,引出了福报厂的Arthas,一个建立在Java动态字节码技术之上的Java诊断工具;关于Arthas的使用方式就不赘述了,查看官方文档可以很快上手,玩法也特别多;上一篇中也仅仅只介绍了一种使用场景,即”debug线上JVM内部class信息、在线watch方法执行并查看方法输入输出、在线反编译class、重新编辑Java后直接热部署“的组合拳(手动狗头)… 上手一门技术最基本要做到 what-how-why,在知道了Arthas是什么(what),以及如何使用(how原创 2021-06-07 06:30:47 · 595 阅读 · 0 评论 -
从利用Arthas排查线上Fastjson问题到Java动态字节码技术(上)
没被Fastjson搞过的程序员不是合格的程序员 ---- 手动狗头 开个玩笑,福报厂的同学们不要喷,Fastjson是非常优秀的工具! 复盘 先简短复盘下之前遇到的一个线上问题:随着业务发展项目A日渐臃肿,已经成为人人都头疼的big ball of mud 大泥球,遂决定对其进行重构,细节包括服务拆分与部分逻辑重构。虽然我不是这块业务的技术owner,但这类重构任务自然还是我来负责,同时在业务需求排队与原owner看戏心态的情况下,留给我从头熟悉与重构的时间并不多… 重构过程就不在这赘述了,虽然发现和.原创 2021-05-22 09:59:59 · 670 阅读 · 1 评论