Heap Walker - Classes

 


  The heap walker classes view conforms to the basic layout of all heap walker views. Also see the help on key concepts for the entire heap walker.
  The functionality of the classes view is identical to that of the all objects view and the recorded objects view except that it is static with respect to the current snapshot and only instances of classes and arrays in the current object set are shown.

If you have multiple classes with the same name from different classloaders and want to differentiate between those classes, you have to navigate to a specific instance, go to the references view of the heap walker and continue with the class selection as described there.

No specific view settings apply to the classes view.

  The classes view has an aggregation level selector. It allows you to switch between
  • Classes
    Every row in the table is a single class. This is the default aggregation level.
  • Packages
    Every row in the table is a single package. Sub-packages are not included. In this aggregation level, the table becomes a tree table. You can open each package by clicking on the tree node on its left and see the contained classes directly beneath it.
  • Java EE components
    Every row in the table is a Java EE component. This aggregation level is like a filter for the classes mode and enables you to quickly check the loaded Java EE components in your profiled application.
  There are three sortable columns shown in the table:
  • Name
    Depending on the aggregation level, this column shows different values:
    • classes
      shows the name of the class or the array type. When using Java 1.4 or Java 1.5 with the old profiling interface JVMPI, the notation <class>[] stands for non-primitive arrays of any class type. (e.g. the array might be of type String[] or Object[]). A further distinction is not possible due to restrictions in the profiling interface.
    • package
      shows the name of the package.
    • Java EE
      shows the display name of the Java EE component. If the display name is different from the actual class name, the class name is displayed in square brackets.
  • Instance count
    Shows how many instances are currently allocated on the heap. This instance count is displayed graphically as well.
  • Size
    Shows the total size of all allocated instances. 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. The size is in bytes and includes only the object data, it does not include internal JVM structures for the class, nor does it include class data or local variables.
  To add a selection step from this view you can select one or multiple rows from the table and click on the [Use ...] button above the table. In the drop-down menu you can decide whether to use the
  • Selected instances
    The new object set will consist of all objects of the selected classes. For a single class, you can also double-click on a row in the table.
  • Selected java.lang.Class objects
    The new object set will consist of all java.lang.Class objects of the selected classes.

After your selection, the view helper dialog will assist you in choosing the appropriate view for the new object set.