Трудности с поиском объектов в приложении, упомянутых в Java Profiler - PullRequest
0 голосов
/ 03 марта 2011

Я использую профилировщик Java YourKit для своего веб-приложения, размещенного на Weblogic.Я расследую утечку памяти в настоящее время.Профилировщик показывает около четверти миллиона объектов char [], которые занимают 25% памяти.

Я пытался заглянуть в свое приложение, чтобы узнать, где создаются эти объекты char [].Удивительно, но я не нашел ни одного.Я что-то здесь не так делаю?Создает ли Weblogic эти объекты Array для внутреннего использования?

Как найти в моем приложении точный фрагмент кода, который создает эти объекты?Спасибо.

С уважением, Сиддхарт

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Скорее всего, эти массивы символов образуют внутреннюю часть строки java.lang.String. Вы должны попросить своего профилировщика дать вам обзор строк, которые в данный момент находятся в памяти, и много ли дубликатов.

1 голос
/ 03 марта 2011

Роланд прав в том, что char [], вероятно, находится в Strings.Я бы порекомендовал использовать FindBugs для статического анализа вашего кода.Это обычно находит много хороших вещей.Что-то еще, что вы должны сделать, это посмотреть в ваших сессионных объектах, поскольку они более постоянны.

Я не знаю о YourKit, поэтому я не могу прокомментировать фактическое отслеживание источников выделения, извините.

...