На работе мы обнаружили, что в некоторых случаях (особенно в медленных) у нас другое поведение, приобретенное при перезагрузке.
Мы предполагаем, что кеш инициализирован неправильно, или, возможно, проблема с параллелизмом ...
В любом случае, он не воспроизводится ни в какой другой среде, кроме производства.
У нас фактически нет регистраторов для активации ... это старый компонент ...
Таким образом, я хотел бы знать, существуют ли инструменты, которые могут помочь нам увидеть различные объекты, присутствующие в памяти JVM, чтобы проверить содержимое кэша ...
Спасибо!
Изменить:
У меня нет прямого доступа к рабочим серверам, наш сервер приложений имеет weblogic 10, у меня нет указателя на объект, но я знаю тип объекта кэша ...
Edit2:
Наши серверы работают на jre 1.5, возможно ли использовать jmap? Не могу найти его в jdk5 :(
Кроме того, удаленная отладка может быть хорошей, но мы не можем по соображениям безопасности ...
Edit3:
На самом деле jhat + VisualVM мне подходит, я нашел свой объект в дампе, но не могу правильно прочитать хэш-карту (объект, содержащий около 60000 элементов) ...
Есть ли инструмент для удобного чтения таблицы concurrenthashmap? Мне нужно найти значение ключа (или его наличие на карте), не просматривая вручную записи 60 КБ.
На самом деле я читал на форуме Eclipse MAT, что это также невозможно с ним ...
Edit4:
После некоторого опыта мне действительно нравятся такие инструменты, как VisualVM. Также используется YourKit.
Есть несколько полезных функций, таких как OQL, для поиска нужных экземпляров, на которые нужно обратить внимание ...