I am currently Profiling a Java Application with Java VisualVM (JDK 6.0.25)
When you use that tool to create a Heap Dump you can inspect the data in memory, that is nice but of course you can hardly click through 250.000 items to see if what class the chars/strings whatever belongs to.
But luckily there is a SQL like query editor ... however the syntax is bit tricky:
What I am searching for is all chars/strings that belong to a class called "ErrorPrinter".
How would you define such query?
Further: There is a sample query to find out "Overallocated String" ... well either my english is not good enough or I don't know ... but can anybody explain: What is an overallocated String and how to resolve that?
I use the term "overallocation of strings" in the sentence that you do things with the strings that you don't really need to do. One such thing is to use upper of lower case transformation when comparing strings or doing chained string concatenations that the server can't optimize in an easy way. this tends to lead to string objects that use more memory than the data that they really need to represent their strings.