我是仪器界的新手。 我试图在运行时检测远程JVM。 实际上,我必须记录所有类或部分类并转换它们。 我已经阅读了很多文档,我发现了这段代码HERE
我更改了代码,我更换了
// Run sayHello in a loop
Person person = new Person();
for(int i = 0; i < 1000; i++) {
person.sayHello(i);
person.sayHello("" + (i*-1));
Thread.currentThread().join(5000);
}
这一个:
for (int i = 1; i < args.length; i++) {
String className = args[i] ;
System.out.println("className" + className);
// Call transformClass on the transformer MBean
server.invoke(on, "transformClass", new Object[]{className}, new String[]{String.class.getName()});
}
但我发现args.length = 0 我不知道args []包含什么......如果它包含加载的类(我假设)那么为什么它是空的..
请帮忙吗?
答案 0 :(得分:0)
我编写了该代码,但我不了解您在代码中尝试做的事情。引用的github gists参考了this SO question的答案,因此它可以帮助您重新阅读该问题。
涉及多个步骤,并且需要以特定方式打包类,但基础是:
transformClass(String className, String methodName, String methodSignature)
MBean操作来检测类。