Java 来自静态嵌套类的代理

Java 来自静态嵌套类的代理,java,agent,Java,Agent,为什么不能从静态嵌套类创建代理? 我没有收到错误或任何东西,程序只是没有运行,所以很难说出什么地方出了问题 包sfjl; 导入java.lang.instrument.Instrumentation; 公共最终类SFJL_分析器{ 专用SFJL_探查器(){} // 静态公共最终类SFJL_探查器_代理{ 私人静态仪器; 公共静态无效预输入(字符串参数、指令插入){ 仪器仪表=仪器仪表; } 公共静态长尺寸(对象o){ 返回指令。getObjectSize(o); } } // 静态公共最终

为什么不能从静态嵌套类创建代理? 我没有收到错误或任何东西,程序只是没有运行,所以很难说出什么地方出了问题

包sfjl;
导入java.lang.instrument.Instrumentation;
公共最终类SFJL_分析器{
专用SFJL_探查器(){}
// 
静态公共最终类SFJL_探查器_代理{
私人静态仪器;
公共静态无效预输入(字符串参数、指令插入){
仪器仪表=仪器仪表;
}
公共静态长尺寸(对象o){
返回指令。getObjectSize(o);
}
}
// 
静态公共最终类SFJL_分析器_控制台_打印机{
}
}
舱单:

Manifest-Version: 1.0
Premain-Class: sfjl.SFJL_Profiler.SFJL_Profiler_Agent
Agent-Class: sfjl.SFJL_Profiler.SFJL_Profiler_Agent
Can-Redefine-Classes: true
Can-Retransform-Classes: true
这是一个正在工作的非嵌套代理:


因为它是一个嵌套类,所以分隔符是$not

sfjl.SFJL_Profiler$SFJL_Profiler_Agent

因为它是一个嵌套类,所以分隔符为$not

sfjl.SFJL_Profiler$SFJL_Profiler_Agent

它工作得很好,但是
代理类
(就这一点而言,
主类
Premain类
的值也是JVM格式的。因此,请尝试:

Agent-Class: sfjl.SFJL_Profiler$SFJL_Profiler_Agent

$在JVM语法中分隔内部类,而不是点。

它工作得很好,但是
代理类
(就此而言,
主类
Premain类
的值也是JVM格式的。因此,请尝试:

Agent-Class: sfjl.SFJL_Profiler$SFJL_Profiler_Agent

$在JVM语法中分隔内部类,而不是点。

再次感谢,从您那里学到了很多:)我给smr接受,因为您同时发布,但他可以使用一些代表。再次感谢,从您那里学到了很多:)我给smr接受,因为您同时发布,但他可以使用一些代表。