Знак доллара в visualvm - PullRequest
       24

Знак доллара в visualvm

2 голосов
/ 17 мая 2009

Я пытаюсь профилировать приложение, и у меня много экземпляров типа sim.core.EndPoint $ 2

Когда я проверяю эти экземпляры, я проверяю, что они не относятся к типу sim.core.EndPoint, они кажутся EndPoint с еще несколькими вещами, которых не должно быть.

Что означает знак доллара после имени типа в visualVM?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 17 мая 2009

Это означает, что это анонимный внутренний класс, определенный в EndPoint.java.

Кстати, ClassName $ AnotherName - это соглашение для определения внутренних классов в JVM.

Посмотрите, какие анонимные классы определяет EndPoint.

1 голос
/ 17 мая 2009

Это, безусловно, артефакт компилятора (что-то скрытое для вас, но необходимое для того, чтобы это работало).

Если это не анонимный класс, это может быть способом для анонимного объекта ссылаться на включающий класс. Есть ли у вас какие-то конечные объекты на «внешней стороне», на которые вы ссылаетесь из своего анонимного класса?

...