2

我正在尝试分析一个应用程序,并且我有很多 sim.core.EndPoint$2 类型的实例

当我检查这些实例时,我确认它们不是 sim.core.EndPoint 类型,它们似乎是一个 EndPoint,还有一些不应该存在的东西。

VisualVM中类型名称后的美元符号是什么意思?

谢谢你。

4

2 回答 2

3

这意味着它是 EndPoint.java 中定义的匿名内部类。

顺便说一下,ClassName$AnotherName 是在 JVM 中指定内部类的约定。

查看 EndPoint 定义了哪些匿名类。

于 2009-05-17T19:09:49.863 回答
1

它肯定是一个编译器工件(对你来说是隐藏的,但它是工作所必需的)。

如果它不是匿名类,它可能是匿名对象引用封闭类的方式。您在匿名类中引用的“外部”是否有任何最终对象?

于 2009-05-17T19:59:38.857 回答