javaagent
1、模式一:-javaaent
1.1、编写 MyAgent.java
import java.lang.instrument.Instrumentation;
public class MyAgent {
public static void premain(String agentArg, Instrumentation instrumentation) {
System.out.println("premain");
}
}
1.2、在META-INF文件夹创建 MANIFEST.MF 文件
Premain-Class: MyAgent 下面要有一行空行
Manifest-Version: 1.0
Premain-Class: MyAgent
1.3、 编译MyAgent.java
javac MyAgent.java
1.4、打包xx.jar
jar cfm xx.jar ./META-INF/MANIFEST.MF MyAgent.class
1.5、创建一个含有main函数的类
public class A {
public static void main(String[] args) throws InterruptedException {
int i = 0;
while (true) {
print(i++);
Thread.sleep(1000);
}
}
private static void print(Object obj) {
System.out.println(obj);
}
}
1.6、编译A.java
javac A.java
1.7、运行
-javaagent:D:/study/myAgent/xx.jar一定要写在A.class之前
java -javaagent:D:/study/myAgent/xx.jar A
1.8、效果
2、attach
2.1 使用方式
https://gitee.com/xiaohai008/java-agent.git
运行MyAttach
再运行1.7,通过jps找到A对应的pid,填充MyAttach进程中,就能在A中看到效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY