Recorded Objects View


  The recorded objects view shows the list of classes of all recorded objects and arrays together with the number of instances which are allocated on the heap. Only recorded objects will be displayed in this view. See the memory section overview for further details on allocation call stack recording. The all objects view displays all objects, regardless of whether they have been recorded.
  The recorded objects 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.
    • 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.
  For a selected class or package, you can jump from the recorded objects view to the allocation call tree as well as the allocation hot spots by bringing up the context menu with a right click and choosing Show allocation tree for selection or Show allocation hot spots for selection.
  You can add a selected class or package to the class tracker by bringing up the context menu with a right click and choosing Add Selection To Class Tracker. If the class tracker is not recording, recording will be started for all classes configured in the class tracker. If the class tracker is recording with a different object type or liveness type, all recorded data will be cleared after a confirmation dialog.
  The recorded objects view can filter objects according to their liveness status:
  • Live objects
    Only objects which are currently in memory are shown.
  • Garbage collected objects
    Only objects which have been garbage collected are shown.
  • Live and garbage collected objects
    All created objects are shown.
To switch between the three modes, you can click on the toolbar entry displaying the current mode and chose the new desired mode. Also, JProfiler's main menu and the context menu allow the adjustment of the view mode via View->Change View Mode.

If the garbage collected objects are shown, you can reset the accumulated data by clicking on the reset action in the toolbar or choosing the the Reset Garbage Collector History menu item in the View or context menu. All garbage collector data will be cleared and the view will be empty for the "Garbage collected objects" mode until further objects are garbage collected. Note that you can force garbage collection by clicking on the garbage collector  tool bar button or by selecting Profiler->Run Garbage Collector from JProfiler's main menu.

  The update frequency for the recorded objects view can be set on the miscellaneous tab in the profiling settings dialog.
  You can stop and restart allocation call stack recording to clear the recorded objects view.