Estoy perfilando una aplicación Java, y la mayor cantidad de objetos asignados tiene el nombre com.x.y.ClassName$5
.¿Qué significa dólar seguido de un índice en un nombre de clase?
Tanto el profiler de netbeans como el kit de tk utilizan la misma convención de nomenclatura. No entiendo cómo googlear el problema de nombres.
¿Qué es $5
después del nombre de la clase?
EDIT: Parece que los $ 5 es la quinta clase anónima declarada. He usado javap en la clase generada para encontrar cuál es la quinta clase anónima. Referencia encuentra en How to match compiled class name to an enum member in Java?
Wow, respuesta rápida. ¿Hay alguna manera de saber qué clase interna es la quinta? – bbaja42
No tengo conocimiento de ninguna forma de hacerlo. Entonces no estoy contento con mi propia respuesta. Decir "quinto" sin decir el orden específico es como decir "un número aleatorio". Sin embargo, si tiene un buen descompilador como [JD] (http://java.decompiler.free.fr/) puede mostrarle el código de cualquier clase interna –
, creo que es el orden en que se declaran. De todos modos, puede sobrescribir toString() para proporcionar una representación significativa en el depurador. – fortran