02-Java Agent、premain、agentmain 与 Sandbox 启动链路

核心问题:探针是如何进入目标 JVM,并把 Sandbox 拉起来的。

先说结论

Java Agent 进入 JVM 主要有两种方式:启动前的 premain,以及运行中的 agentmain。

两条路径入口不同,但最终都要拿到 Instrumentation,解析参数,并启动 Sandbox 运行时。

成熟 Agent 的入口应该很薄,复杂增强逻辑应该放到运行时和模块里。

这篇文章能带你完成什么

你不用先掌握所有 Java Agent 概念。本篇先让你做出一个能运行的小结果:复制代码、执行命令、看到输出。

跑通以后,再回头看图和源码,你会更容易理解这个机制在 JVM Sandbox 里负责哪一块。整个专栏都按这个节奏来:先做出来,再解释为什么。

先把几个词讲明白

Java Agent 入口

Java Agent 是 JVM 提供的一种扩展机制,可以在应用启动前或运行中把一段探针逻辑加载进目标 JVM。

可以怎么理解

premain 像“随车出厂安装”,应用启动时就进入;agentmain 像“运行中加装设备”,应用已经启动后再 attach 进去。

本篇先抓住什么

这一篇要让你明白:Agent 入口只负责

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小二进制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值