Мое приложение использует намного больше памяти, чем мне кажется, и я пытаюсь понять, какой класс использует большой объем памяти и, возможно, не освобождает ее.
Я использую VisualVM и в образце памяти я вижу, что большая часть памяти расходуется на символы, строки и байты, все мои классы используют строки, но, как вы знаете, VisualVM показывает ВСЕ символы и строки в системе. (все символы идентичны строкам, что затрудняет понимание того, кто их держит),
как я понимаю, размер других классов, содержащих эти строки, рассчитывается без строк.
Как я могу видеть в этом инструменте, кто является "Реальными" самыми большими классами - теми, которые содержат все эти строки? (желательно, если я могу добраться от этих классов до их Строк, а не наоборот)
Я пытался использовать «root to the ближайший GC» в heapDump, но там около 4 000 000 строк, поэтому вероятность найти «проблемные» очень мала ...
Спасибо !!!