blob: 80e0c129751c36a61be0739033ec2319dd401495 [file] [log] [blame]
==================== HISTOGRAM ====================
Histogram. Top 2147483647 by instance count [All-objects] [Only-strong-ref]:
1: [ 18/1.65KB] [ 18/1.65KB] java.lang.Class
2: [ 12/ 192B] [ 9/ 144B] TestString
3: [ 8/ 192B] [ 6/ 144B] TestClassB
4: [ 4/ 128B] [ 3/ 96B] TestClassA
5: [ 3/ 60B] [ 3/ 60B] java.lang.String
6: [ 3/ 100B] [ 3/ 100B] char[]
7: [ 3/ 48B] [ 3/ 48B] MyRef
8: [ 2/ 16B] [ 2/ 16B] java.lang.ref.WeakReference
9: [ 1/ 8B] [ 1/ 8B] java.lang.ref.ReferenceQueue$Lock
10: [ 1/ 16B] [ 1/ 16B] java.util.Arrays$ArrayList
11: [ 1/ 44B] [ 1/ 44B] java.lang.Object[]
12: [ 1/ 8B] [ 1/ 8B] java.lang.ref.ReferenceQueue$Null
Total - All: 57 2.46KB 12 classes (Total instances: 57)
Total - Strong-ref: 51 2.34KB 12 classes (Total instances: 51)
Unreachable objects: 0 0B
=================== HEAP SUMMARY ==================
Class count: 18
Finalizable size: 0B
Soft-reachable size: 0B
Weak-reachable size: 128B
Reachable only from disposer tree: 0
======== INSTANCES OF EACH NOMINATED CLASS ========
Nominated classes:
--> [8/192B] TestClassB
--> [4/128B] TestClassA
--> [12/192B] TestString
CLASS: TestClassB (8 objects)
Root 1:
[ 6/ 75%/ 144B] 524B 1 ROOT: Global JNI
[ 6/ 75%/ 144B] 524B 1 (root): java.util.Arrays$ArrayList
[ 6/ 75%/ 144B] 508B 1 a: java.lang.Object[]
[ 2/ 25%/ 48B] 176B 1 +-[]: MyRef
[ 2/ 25%/ 48B] 160B 1 | referent: MyRef
[ 2/ 25%/ 48B] 144B 1 | referent: MyRef
[ 2/ 25%/ 48B] 128B 1 | referent: TestClassA
[ 1/ 12%/ 24B] 40B 1 * | +-a2b: TestClassB
[ 1/ 12%/ 24B] 40B 1 * | \-a3b: TestClassB
[ 2/ 25%/ 48B] 128B 1 +-[]: TestClassA
[ 1/ 12%/ 24B] 40B 1 * | +-a2b: TestClassB
[ 1/ 12%/ 24B] 40B 1 * | \-a3b: TestClassB
[ 2/ 25%/ 48B] 152B 1 \-[]: java.lang.ref.WeakReference
[ 2/ 25%/ 48B] 128B 1 ! (weak): TestClassA
[ 1/ 12%/ 24B] 40B 1 * +-a2b: TestClassB
[ 1/ 12%/ 24B] 40B 1 * \-a3b: TestClassB
Root 2:
[ 2/ 25%/ 48B] 292B 1 ROOT: Unknown
[ 2/ 25%/ 48B] 292B 1 (root): TestClassA
[ 1/ 12%/ 24B] 96B 1 * +-a2b: TestClassB
[ 1/ 12%/ 24B] 96B 1 * \-a3b: TestClassB
CLASS: TestClassA (4 objects)
Root 1:
[ 3/ 75%/ 96B] 524B 1 ROOT: Global JNI
[ 3/ 75%/ 96B] 524B 1 (root): java.util.Arrays$ArrayList
[ 3/ 75%/ 96B] 508B 1 a: java.lang.Object[]
[ 1/ 25%/ 32B] 176B 1 +-[]: MyRef
[ 1/ 25%/ 32B] 160B 1 | referent: MyRef
[ 1/ 25%/ 32B] 144B 1 | referent: MyRef
[ 1/ 25%/ 32B] 128B 1 * | referent: TestClassA
[ 1/ 25%/ 32B] 128B 1 * +-[]: TestClassA
[ 1/ 25%/ 32B] 152B 1 \-[]: java.lang.ref.WeakReference
[ 1/ 25%/ 32B] 128B 1 * (weak): TestClassA
Root 2:
[ 1/ 25%/ 32B] 292B 1 ROOT: Unknown
[ 1/ 25%/ 32B] 292B 1 * (root): TestClassA
CLASS: TestString (12 objects)
Root 1:
[ 9/ 75%/ 144B] 524B 1 ROOT: Global JNI
[ 9/ 75%/ 144B] 524B 1 (root): java.util.Arrays$ArrayList
[ 9/ 75%/ 144B] 508B 1 a: java.lang.Object[]
[ 3/ 25%/ 48B] 176B 1 +-[]: MyRef
[ 3/ 25%/ 48B] 160B 1 | referent: MyRef
[ 3/ 25%/ 48B] 144B 1 | referent: MyRef
[ 3/ 25%/ 48B] 128B 1 | referent: TestClassA
[ 1/ 8%/ 16B] 40B 1 | +-a2b: TestClassB
[ 1/ 8%/ 16B] 16B 1 * | | b2string: TestString
[ 1/ 8%/ 16B] 16B 1 * | +-a1string: TestString
[ 1/ 8%/ 16B] 40B 1 | \-a3b: TestClassB
[ 1/ 8%/ 16B] 16B 1 * | b2string: TestString
[ 3/ 25%/ 48B] 128B 1 +-[]: TestClassA
[ 1/ 8%/ 16B] 40B 1 | +-a2b: TestClassB
[ 1/ 8%/ 16B] 16B 1 * | | b2string: TestString
[ 1/ 8%/ 16B] 16B 1 * | +-a1string: TestString
[ 1/ 8%/ 16B] 40B 1 | \-a3b: TestClassB
[ 1/ 8%/ 16B] 16B 1 * | b2string: TestString
[ 3/ 25%/ 48B] 152B 1 \-[]: java.lang.ref.WeakReference
[ 3/ 25%/ 48B] 128B 1 ! (weak): TestClassA
[ 1/ 8%/ 16B] 40B 1 +-a2b: TestClassB
[ 1/ 8%/ 16B] 16B 1 * | b2string: TestString
[ 1/ 8%/ 16B] 40B 1 +-a3b: TestClassB
[ 1/ 8%/ 16B] 16B 1 * | b2string: TestString
[ 1/ 8%/ 16B] 16B 1 * \-a1string: TestString
Root 2:
[ 3/ 25%/ 48B] 292B 1 ROOT: Unknown
[ 3/ 25%/ 48B] 292B 1 (root): TestClassA
[ 1/ 8%/ 16B] 96B 1 +-a2b: TestClassB
[ 1/ 8%/ 16B] 72B 1 * | b2string: TestString
[ 1/ 8%/ 16B] 96B 1 +-a3b: TestClassB
[ 1/ 8%/ 16B] 72B 1 * | b2string: TestString
[ 1/ 8%/ 16B] 68B 1 * \-a1string: TestString