Profiling agentmain方法在java插装中的用途是什么
我使用-javaagent参数和premain方法完成了一些java字节码插装。但这是我第一次听说agentmain方法。我对这种方法有一些疑问。下面是它。Profiling agentmain方法在java插装中的用途是什么,profiling,bytecode,instrumentation,javaagents,Profiling,Bytecode,Instrumentation,Javaagents,我使用-javaagent参数和premain方法完成了一些java字节码插装。但这是我第一次听说agentmain方法。我对这种方法有一些疑问。下面是它。 premain和agentmain方法都有相同的用途? 何时调用agentmain方法? java instrumentation中agentmain方法的用途是什么?premain在应用程序之前启动代理时被调用。使用premain调用的代理使用-javaagent开关指定 agentmain在应用程序运行后启动代理时调用。以agentma
premain和agentmain方法都有相同的用途?
何时调用agentmain方法?
java instrumentation中agentmain方法的用途是什么?
premain
在应用程序之前启动代理时被调用。使用premain
调用的代理使用-javaagent开关指定
agentmain
在应用程序运行后启动代理时调用。以agentmain
启动的代理可以使用Sun tools API以编程方式附加(仅适用于Sun/Oracle JVM——引入动态代理的方法取决于实现)
代理可以同时具有premain
和agentmain
,但在特定的JVM调用中只能调用这两个代理中的一个。换句话说,您的代理将以premain
或agentmain
开头,但不能同时以两者开头
您可以在问题的答案中找到有关此问题的更多信息。显示了一个示例应用程序,该应用程序通过attach API在运行的JVM中启动代理。在本例中,如果JMX代理尚未运行,它将启动该代理。因此,它的agentmain
方法将被调用。这可以适用于其他代理。解释premain
和agentmain
的含义。