我用-
javaagent参数和premain方法做了一些java字节码检测.但这是我第一次听到agentmain方法.我对这个方法有一些疑问.接下来是这样的.
premain和agentmain方法有相同的用途吗?
调用agentmain方法时?
在java检测中使用agentmain方法有什么用?
解决方法
在应用程序之前启动代理程序时调用premain.使用premain调用的代理程序使用-javaagent开关指定.
在应用程序运行后启动代理程序时调用agentmain.使用代理主机启动的代理可以使用Sun工具API以编程方式附加(仅适用于Sun / Oracle JVM – 引入动态代理的方法取决于实现).
代理可以同时具有premain和agentmain,但在特定的JVM调用中只会调用其中一个.换句话说,您的代理将以premain或agentmain开头,但不能同时开始.
您可以在问题Starting a Java agent after program start的答案中找到有关此内容的更多信息.