| ==================== 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 |
| |