写一个Java Agent我们都会遇到的问题

原创 吴就业 225 0 2024-02-16

本文为博主原创文章,未经博主允许不得转载。

本文链接:https://wujiuye.com/article/2cc4166c51664938a6c640d5cf2213e9

作者:吴就业
链接:https://wujiuye.com/article/2cc4166c51664938a6c640d5cf2213e9
来源:吴就业的网络日记
本文为博主原创文章,未经博主允许不得转载。

此为文章配套视频,如阅读本篇文章有不理解的地方,可观看此讲解视频!

“编写一个Java Agent,这个Agent包的类不能跟应用程序的类冲突,所以我们需要自定义一个类加载器去加载我们Agent包里面的所有类,现在类冲突问题解决了,但是我Agent包也无法访问应用程序里面的类,这个问题怎么解?”

“自定义的类加载器加载类,只能一个一个加载,API只提供了CustomClassLoader.loadClass(“单个类路径”),难道在用自定义类加载器加载Agent的包时候是递归一个一个加载里面的类的吗?”

最近有同事以及粉丝问我关于Java Agent的问题,其实也都是大家接触Java Agent都会遇到的问题,就是类加载的的问题。

我之前写过一篇文章:

发表在微信公众号上的链接:实现一个分布式调用链路追踪Java探针你可能会遇到的问题

发表在掘金上的链接:实现一个分布式调用链路追踪Java探针你可能会遇到的问题

发表在CSDN上的链接:实现一个分布式调用链路追踪Java探针你可能会遇到的问题

发表在本站的链接:实现一个分布式调用链路追踪Java探针你可能会遇到的问题

代码仓库:https://github.com/wujiuye/vine

vine

#后端

声明:公众号、CSDN、掘金的曾用名:“Java艺术”,因此您可能看到一些早期的文章的图片有“Java艺术”的水印。

文章推荐

新人成长路上,技术选型容易犯的错

技术人追求技术是好事,但应该把精力放在精益求精上,而不是追随潮流。没必要一味追求用一项技术,技术选型的目的就是选择各方面对比最适合的,这也包括开发成本、运维成本。

领导叫我做技术分享,如何做好一次技术分享?

领导找我做技术分享,我应该分享什么,以及如何做好技术分享?

markdown转html脚注问题怎么解决?

个人博客网站是用go语言开发的,markdown渲染成html使用的是blackfriday这个开源库,于是研究blackfriday支不支持脚注。

go依赖的module的版本号必须是"vx.x.x"的格式

报错:no matching versions for query "v1.0"。依赖的module的版本号必须是"vx.x.x"的格式,其中'x.x.x'中的'x'是数字。

jeprof命令报错:The first profile should be a remote form to use /pprof/symbol

jeprof命令报错:`The first profile should be a remote form to use /pprof/symbol`,这是因为命令需要程序源文件(原二进制文件)。另外`FATAL ERROR: Did not specify profile file`错误也是一样的问题。

k8s容器线上排查进程突然挂掉原因

对于线上应用,出现进程自动挂掉的原因,如果可以排除因程序本身原因,那么很大可能性是因为操作系统内存不够用,进程被操作系统kill掉了。