Как извлечь все ключи из ConcurrentHashMap в Eclipse MAT (инструмент анализатора памяти)?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как извлечь все ключи из ConcurrentHashMap в Eclipse MAT (инструмент анализатора памяти)?

Сообщение Anonymous »

Я анализирую дамп кучи с помощью Eclipse MAT, и мне нужно извлечь все ключи из объекта ConcurrentHashMap.
Текущая ситуация:
Как показано на снимке экрана, у меня есть объект ConcurrentHashMap:
  • Объект: SubscriptionGroupTable
  • Тип: java.util.concurrent.ConcurrentHashMap @ 0x6c0bce020
  • Карта содержит несколько записей (всего 80 904 записи)
В дереве MAT я вижу внутреннюю структура:
  • → ConcurrentHashMap$Node[]
  • Отдельные объекты Node с полями ключа и значения
  • Например, один видимый ключ — "SELF_TEST_C_GROUP" (String @ 0x6c1f0d4a0)
Мой вопрос:
Каков правильный способ извлечь все ключи из этого ConcurrentHashMap в MAT?
Мне нужно получить список всех строковых ключей, хранящихся на этой карте. Я пытался использовать представление «Инспектор» для навигации по структуре вручную, но с 80 904 записями это непрактично.
Что я ищу:
  • Запрос OQL, который может извлечь все ключи, или
  • Метод, использующий встроенные функции MAT для экспорта/просмотра всех ключей
введите здесь описание изображения
Будем благодарны за любые рекомендации!

Подробнее здесь: https://stackoverflow.com/questions/798 ... y-analyzer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»