Java:Agent技术

outman
4
2025-07-08

Java Agent 是可以在JVM启动或运行时,拦截并修改类字节码

Premain模式

JVM初始化后立刻执行

使用 -javaagent参数激活

JVM启动->Agent的premain->主程序的main

Agentmain模式

JVM运行时动态附加

完整流程

1.准备agent.jar->实现agentmain的类->正确的MANIFEST.MF->必要的字节码转换逻辑

2.目标应用启动:java -cp app.jar

3.jps -l 获取目标PID

4.执行动态附加

VirtualMachine vm = VirtualMachine.attach("1234");

vm.loadAgent("/path/to/agent.jar", "param1=value1");

vm.detach();