|
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.
In this mode, the cumulated incoming reference view shows object counts, sizes and percentages that refer to the
top level entry. This makes it easy to analyze what percentage of the current object set is held through
a particular chain of references.
- 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.
In this mode, each level is treated like a new independent object set.
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. Thread and method information are shown if available.
- 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 and along the selected chain of references.
- 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.
|