Java: как я могу получить количество экземпляров определенного класса из jmx

все

Он собирается контролировать количество экземпляров определенного класса в памяти JVM.

Почему ? Потому что я хотел бы отслеживать количество экземпляров нескольких классов Java на моем сервере tomcat 7. Я хотел бы сделать это, потому что создание «дампов кучи» с помощью jmap и анализ кучи с помощью JvisualVM занимает слишком много времени.

Здесь может быть команда jmap: /..../jdk1.7.0_79/bin/jmap -dump:format=b,file=filename.hprof [PID]

Ограничение: я бы предпочел не изменять свой код для этих "отслеживаемых" классов. Я мог бы добавить Mbean на свой сервер, чтобы управлять этим.

На самом деле я не знаю, как получить все экземпляры классов из HeapMemory. Может быть, я неправильно делаю это...


person Pegazus    schedule 19.11.2015    source источник


Ответы (1)


Вы можете использовать статическую переменную для подсчета и создать MBean с методом, который возвращает эту переменную.

person VDanyliuk    schedule 19.11.2015
comment
Да, я думал об этом, но в моем случае это не так просто сделать. - person Pegazus; 19.11.2015