2016-03-31 2 views

ответ

3

Если вы используете VisualVM, вы можете использовать пару запросов OQL для чтения данных в Java-куче, которые вы ищете. Одна команда, которая может удовлетворить ваши потребности:

select {instance: s, content: s.toString()} from java.lang.String s 
    where /java/(s.toString()) 

вы можете найти много больше здесь: https://visualvm.java.net/oqlhelp.html

+0

Это выглядит полезно! Могу ли я задать вопрос с вопросом, где выполнить этот запрос? Есть ли консоль, встроенная в JVisualVm или что-то в этом роде? –

+0

@OneTwoThree: есть и командная строка, и визуальные инструменты, вы можете увидеть полную документацию на своем веб-сайте. это очень полезный инструмент – Pooya

0

Я моделируется это с небольшим приложением Spring загрузки и Eclipse Memory Analyzer. Дамп кучи был создан из MAT, но вы также можете открыть кучу кучи, который вы уже создали.

При открытии дампа кучи MAT автоматически показывает вам подозревает, которые используют много памяти:

enter image description here

При открытии детали вы можете увидеть String экземпляров и их значения (отмечены желтым цветом в моем скриншоте) в разделе под названием Accumulated Objects in Dominator Tree

enter image description here

Краткое примечание: вы можете запустить OQL изнутри ВСУ тоже:

enter image description here

Смежные вопросы