我正在分析一个java应用程序,并且分配的最大数量的对象具有名称
com.x.y.ClassName$5
。
netbeans探查器和yourkit都使用相同的命名约定。 我不知道如何谷歌命名问题。
班级名称之后的$5
是什么?
编辑: 似乎$ 5是第五个匿名类声明。我在生成的类上使用javap来查找哪个是第五个匿名类。参考文献How to match compiled class name to an enum member in Java?
答案 0 :(得分:19)
com.x.y.ClassName $ 5表示“com.x.y.ClassName中的第五个匿名内部类”
答案 1 :(得分:1)
有些links可以帮助您。 另请参阅polygenelubricant's回答
你得到 com.x.y.ClassName $ 5 。当你的班级包含 anonyomous inner class
时 sample8.class
sample8$1.class
sample8$2.class
sample8$klass.class
sample8$klass$1.class
实施例
public class sample8 {
private class klass{
void vodka() {
sample8 _s = new sample8() {
};
}
}
sample8() {
klass _k = new klass();
_k.vodka();
}
public static void main(String args[])
{
}
sample8 _s = new sample8() {
};
sample8 _s1 = new sample8() {
};
}