## Heap Walker Reference View - Cumulated Incoming References |

| The cumulated incoming references show the list of all reference types through which the instances of classes and arrays in the current object set are held. This view has two display modes that determine how the "Object count" and the "Size" column have to be interpreted: Show counts and sizes of reference holders The "Object count" and the "Size" columns refer to the objects that reference any objects in the current object set through a certain reference type. Show counts and sizes of referenced objects The "Object count" and the "Size" columns refer to the objects in the current object set that are referenced through a certain reference type. There are three columns shown in the table, which can be sorted: Reference type Shows the type of the incoming reference which is one of field some of the objects or arrays in the current object set are held in the indicated field of an instance of the indicated class. static field some of the objects or arrays in the current object set are held in the indicated static field of the indicated class. constant some of the objects or arrays in the current object set are held in the constant pool of the indicated class. These references mostly stem from constants declared as `private static final`. object array content some of the objects in the current object set are held in an array of instances of classes. The arrays are of types or supertypes of the held objects. A further distinction is not possible due to the nature of Java bytecode. JNI global/local reference some of the objects or arrays in the current object set are held through the Java Native Interface. Generally global references are persistent across a number of native calls which local references are only valid for the duration of one native call. These references are of interest to JNI programmers only. If you do not use any extra native libraries and encounter these reference types nonetheless, they can be attributed to the internal state of the JVM. In that case, there won't be any accessible objects behind these references and the `Size` column will show a zero value. java stack some of the objects in the current object set are held in a stack frame of a thread. sticky class, thread block, unknown type internal references in the JVM. Note that for static fields, constants, java stack references and the internal references in the JVM the origin of the reference do not belong to accessible objects. The `Size` column shows a zero value and a filter selection is not possible for these incoming reference types. Object count Depending on the display mode, shows Show counts and sizes of reference holders How many objects are holding on to any object in the current object set through this reference type. Show counts and sizes of referenced objects How many objects in the current object set are referenced through this reference type. The reference count is displayed graphically as well. Size Depending on the display mode, shows Show counts and sizes of reference holders The total size of all objects that are holding on to any object in the current object set through this reference type. Show counts and sizes of referenced objects The total size of all objects in the current object set that are referenced through this reference type. Note that this is the shallow size which does not include the size of referenced arrays and instances but only the size of the corresponding pointers. No specific view settings apply to the cumulated incoming references.

| The cumulated reference view is a tree table, you can open single references and view cumulated reference chains. Multiple selection is only possible on the same level in the tree. The lengths of the bars in the object count column are adjusted for the sibling nodes in the tree (not the top level) and the colors of the bars alternate between dark and light red for descending tree levels.

| To add a selection step from this view you can select one or multiple references from the table and click the [Use ...] button above the table and choose reference holders in the popup menu. A new object set will be created that contains all objects that hold any object in the current object set by way of the selected reference types. select one or multiple references from the table and click the [Use ...] button above the table and choose referenced objects in the popup menu. A new object set will be created that contains all objects in the current set that are held by a reference of one of the the selected types. double click on a reference. Depending on the display mode, either the reference holders or the referenced objects are selected as the new object set. All reference types in your selection that do not lead to selectable objects are removed for the selection step. If no selectable objects are contained in your selection, the corresponding action will be disabled. A new object set will be created that contains all instances of classes and arrays that reference objects in the current object set via the selected references. After your selection, the view helper dialog will assist you in choosing the appropriate view for the new object set.