## Heap Walker - Biggest Objects View |

| The heap walker biggest objects view conforms to the basic layout of all heap walker views. Also see the help on key concepts for the entire heap walker.

| The biggest objects view shows a list of the biggest objects in in the current object set. The table shows the following information: The first column shows the name of the object's class and the ID of the object The second column shows the object's retained size together with a bar visualizing the relative importance of that number with the respect to all the objects that are shown. Also, a percentage number is shown that indicates how much of the total used heap size is retained by this object. Please see the key concepts of the heap walker for an explanation of retained size.

| Each object can be expanded to show outgoing references to other objects that are retained by this object. In this way, you can recursively expand the tree of retained objects (also called a "dominator tree") that would be garbage collected if the one of the parents were to be removed. The information displayed for each object in this tree is similar to the outgoing reference view, except that only dominating references are displayed. Not all dominated objects are directly referenced by their dominators. For example, consider the references in the following figure: Object A dominates objects B1 and B2, it does not have a direct reference to object C. Both B1 and B2 reference C. Neither B1 nor B2 dominates C, but A does. In this case, B1, B2 and C are listed as direct children of A in the dominator tree, and C will not be listed a child of B1 and B2. For B1 and B2, the field names in A by which they are held are displayed. For C, [transitive reference] is displayed on the reference node. At the left side of each reference node in this tree, a percentage bar shows how many percent of the retained size of the top-level object heap are still retained by the target object. The numbers will decrease as you drill down further into the tree. In the view settings, you can change the percentage base to the total heap size. The dominator tree has a built-in cutoff that eliminates all objects that have a retained size that is lower than 0.5% of the retained size of the parent object. This is to avoid excessively long lists of small dominated objects that distract from the important objects. If such a cutoff has been performed, a cutoff child node will be shown that notifies you about the number of objects that are not shown on this level, their total retained size and the maximum retained size of the single objects.

| The view mode selector above the biggest objects view allows you to switch to an alternate visualization: A tree map that shows all dominated objects as a set of nested rectangles. Please see the Wikipedia page on tree maps for more information on tree maps in general. Each rectangle represents a dominated object. The area of the rectangle is proportional to its retained size. In contrast to the tree, the tree map gives you a flattened perspective of all leafs in the dominator tree. If you're mostly interested in big arrays, you can use the tree map in order to find them quickly without having to dig into the branches of the tree. Also, the tree map gives you an overall impression of the relative importance of dominated objects and the object size distribution in the heap. At the bottom right of the tree map you can see the total percentage of the entire heap that is represented by the tree map. If you have not zoomed in, the remaining part of the heap is dominated by objects that have not made it into the list of biggest objects due to the internal threshold for retained sizes. The actual information for tree map nodes is displayed in tool tips that are immediately shown when you hover over the tree map. It corresponds to the information that is shown in the tree view mode. If a tree map rectangle exceeds a certain size, its name is printed directly in the tree map. The tree map is shown up to a maximum nesting depth of 25 levels. The depth of the call stack of a particular leaf in the tree map is encoded in its color. The color scale blends blue into yellow, where blue indicates a smaller and yellow a larger depth. The scale is always relative to all currently displayed nodes. For example, if you zoom into a particular area of the tree map, the scale will be re-adjusted so that that the depth of the parent node corresponds to blue. Below the tree map, a legend presents all possible colors as well as the displayed maximum and minimum depths. Double-clicking on any colored rectangle in the tree map will zoom to the parent node unless the node is already a top-level node. There are tool bar actions for for zooming in and zooming out, as well as as context actions for showing the actual root of the dominator tree of the biggest objects. In order to explore the hierarchical environment of a particular leaf in the tree map, there is a context action "Show In Tree", that switches to the tree view mode and selects the same node there.

| To add a selection step from this view you can select one or more objects and click the [Use selected] button above the table. A new object set will be created that contains only the instances of the selected objects. After your selection, the view helper dialog will assist you in choosing the appropriate view for the new object set.