blob: 875eef4ac4ae1bcd409533fdfb6fc6df0d92ed80 [file] [log] [blame]
==================== HISTOGRAM ====================
Histogram. Top 2147483647 by instance count [All-objects] [Only-strong-ref]:
1: [ 18/1.94KB] [ 18/1.94KB] java.lang.Class
2: [ 12/ 192B] [ 9/ 144B] TestString
3: [ 8/ 192B] [ 6/ 144B] TestClassB
4: [ 4/ 128B] [ 3/ 96B] TestClassA
5: [ 3/ 66B] [ 3/ 66B] java.lang.String
6: [ 3/ 68B] [ 3/ 68B] byte[]
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.73KB 12 classes (Total instances: 57)
Total - Strong-ref: 51 2.6KB 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] 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
[ 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
Root 2:
[ 2/ 25%/ 48B] 272B 1 ROOT: Unknown
[ 2/ 25%/ 48B] 272B 1 (root): TestClassA
[ 1/ 12%/ 24B] 88B 1 * +-a2b: TestClassB
[ 1/ 12%/ 24B] 88B 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] 152B 1 +-[]: java.lang.ref.WeakReference
[ 1/ 25%/ 32B] 128B 1 * | (weak): TestClassA
[ 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
Root 2:
[ 1/ 25%/ 32B] 272B 1 ROOT: Unknown
[ 1/ 25%/ 32B] 272B 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] 152B 1 +-[]: java.lang.ref.WeakReference
[ 3/ 25%/ 48B] 128B 1 ! | (weak): TestClassA
[ 1/ 8%/ 16B] 16B 1 * | +-a1string: TestString
[ 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
[ 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] 16B 1 * | +-a1string: TestString
[ 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
[ 3/ 25%/ 48B] 128B 1 \-[]: TestClassA
[ 1/ 8%/ 16B] 16B 1 * +-a1string: TestString
[ 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
Root 2:
[ 3/ 25%/ 48B] 272B 1 ROOT: Unknown
[ 3/ 25%/ 48B] 272B 1 (root): TestClassA
[ 1/ 8%/ 16B] 64B 1 * +-a1string: TestString
[ 1/ 8%/ 16B] 88B 1 +-a2b: TestClassB
[ 1/ 8%/ 16B] 64B 1 * | b2string: TestString
[ 1/ 8%/ 16B] 88B 1 \-a3b: TestClassB
[ 1/ 8%/ 16B] 64B 1 * b2string: TestString