|
The following inspections are provided by JProfiler:
-
Custom filter [Custom inspections]
Filter all objects in the current object set with a code snippet. Return true if an object should be added to the new object set and false if it should be discarded.Note: In the reference view, you can apply a filter to a selected outgoing chain of references.
Configuration options:
-
Filter script
The script that decides whether an object should be part of the new object set or not. The script is passed a currentObject parameter. If you return true, the object will be retained, otherwise it will be discarded.
-
Custom grouping [Custom inspections]
Group the current object set with a code snippet. Return the key for each object as a java.lang.String object. Objects with the same key will be in the same group.After the inspection is calculated, you will see a statistics table at the top of all heap walker view where you can select each group and analyze its members separately.
Configuration options:
-
Grouping script
The script that returns the group name of the group that the object should be part of. The script is passed a currentObject parameter. If all objects in the current object set are of the same class, the parameter is typed, so you will get code completion for the parameter. If you return null, the object will be retained, otherwise it will be added to the group with the name of the returned string value.
-
Duplicate strings [Duplicate objects]
Find duplicate java.lang.String objects in the current object set.After the inspection is calculated, you will see a statistics table at the top of all heap walker view where you can select each duplicate string value and analyze the corresponding string objects separately. Note: If no java.lang.String objects are contained in the current object set, the inspection will return the empty object set.
Configuration options:
-
Minimum length
The minimum size as an integer value. The default size is 20.
-
Duplicate primitive wrappers [Duplicate objects]
Find duplicate primitive wrapper objects like java.lang.Integer in the current object set.After the inspection is calculated, you will see a statistics table at the top of all heap walker view where you can select each duplicate primitive value and analyze the corresponding wrapper objects separately. Note: If no wrapper objects of the selected type are contained in the current object set, the inspection will return the empty object set.
Configuration options:
-
Primitive wrapper type
The primitive type for which the inspection will be calculated. One of "Boolean,Byte,Character,Double,Float,Integer,Long,Short".
-
Duplicate arrays [Duplicate objects]
Find duplicate arrays in the current object set.After the inspection is calculated, you will see a statistics table at the top of all heap walker view where you can select each duplicate array value and analyze the corresponding arrays separately. Note: If no arrays of the selected type are contained in the current object set, the inspection will return the empty object set.
Configuration options:
-
Minimum shallow size in bytes
The minimum size as an integer value. The default size is 100.
-
Array type
The array type for which the inspection will be calculated. One of "Object,Boolean,Byte,Character,Double,Float,Integer,Long,Short".
-
Sparse arrays [Collections & Arrays]
Find object arrays that contain a high percentage of null values.After the inspection is calculated, the reference view will show columns with the overhead in bytes and the percentage of null values. You can sort the arrays on both of these columns. Note: If no arrays of the selected type are contained in the current object set, the inspection will return the empty object set.
Configuration options:
-
Minimum shallow size in bytes
The minimum size as an integer value. The default size is 100.
-
Arrays with zero length [Collections & Arrays]
Find object arrays whose length is zero. This may be an opportunity to use a null value in order to reduce memory consumption.Note: If no arrays of the selected type are contained in the current object set, the inspection will return the empty object set.
Configuration options:
-
Array type
The array type for which the inspection will be calculated. One of "Object,Boolean,Byte,Character,Double,Float,Integer,Long,Short".
-
Hash maps with bad key distribution [Collections & Arrays]
Find hash maps with a bad distribution of keys. This may be an opportunity to improve the hasCode() method of objects in order to speed up lookups in the map.After the inspection is calculated, the reference view will show a column with the distribution quality. The objects with the highest hash map distribution quality will be at the top.
Configuration options:
-
Minimum map size
The minimum size as an integer value. The default size is 20.
-
Null fields [Reference & field analysis]
Find objects with fields that have a high percentage of null values. These fields could be moved to derived classes or aggregated objects.
-
Weakly referenced objects [Reference & field analysis]
Find objects that are (transitively) referenced through a weak, soft of phantom reference.To analyze the reference paths, go to the "Reference" view after the inspection is calculated and show the path to the garbage collector root for selected objects.
Configuration options:
-
Reference type
The type of the reference for which the inspection will be calculated, one of "Weak reference,Soft reference,Phantom reference".
-
Objects retained by inner class [Reference & field analysis]
Find objects that only referenced implicitly by one of their non-static inner classes. Sometimes this can be the cause of a memory leak.
-
Objects with many incoming references [Reference & field analysis]
Find objects that have many incoming references.After the inspection is calculated, the reference view will show a column with the incoming reference count. The objects with the most incoming references will be at the top.
-
Objects that reference themselves [Reference & field analysis]
Find objects that reference themselves directly. This may be an opportunity to remove a field.After the inspection is calculated, the reference view will show a column with the self-reference count. The objects with the most self-references will be at the top.
|