第二种情况是关于Java Instrumentation
API的 -该链接指向一个描述性很强的Javadoc。
这是完整的说明以及如何创建Java工具代理的示例。
主要概念是:
实现一个静态
premain
(类似于main
)方法,如下所示:import java.lang.instrument.Instrumentation;
class Example {
public static void premain(String args, Instrumentation inst) {
…
}
}创建一个清单文件(例如
manifest.txt
),以将该类标记为在主执行前执行。其内容是:Premain-Class: Example
编译该类并将该类打包到
JAR
归档文件中:javac Example.java
jar cmf manifest.txt yourAwesomeAgent.jar *.class
使用
-javaagent
参数执行JVM ,如下所示:java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)