我使用-javaagent参数和premain方法完成了一些java字节码的测试。但这是我第一次听说agentmain方法。我对这种方法有些疑问。这里跟着它。
主要方法和代理方法都有相同的用途?
什么时候调用agentmain方法?
agentmain方法在java工具中的用途是什么?
发布于 2013-11-05 12:35:54
在应用程序之前启动代理时,将调用premain。使用premain调用的代理是使用-javaagent开关指定的。
在应用程序已经运行之后启动代理时,将调用agentmain。从agentmain开始的代理可以使用Sun (仅用于Sun/Oracle -引入动态代理的方法依赖于实现)以编程方式附加。
代理可以同时拥有一个premain和一个agentmain,但是在一个特定的JVM调用中只能调用这两个中的一个。换句话说,您的代理将以premain或agentmain开头,而不是两者兼而有之。
您可以在问题Starting a Java agent after program start的答案中找到有关此问题的更多信息。
https://stackoverflow.com/questions/19786078
复制相似问题