
Shallow Heap / Retained Heap
- Shallow Heap
- 한 객체가 소비하고 있는 메모리의 크기
- Integer는 4바이트, Long은 8바이트, 객체는 32비트 or 64비트 등..
- Retained Heap
- GC 될 때 함께 제거될 수 있는 모든 객체(Retained set)의 메모리 크기의 총합으로 Shallow Heap도 포함된다
- 즉, 목록 상의 객체가 GC되면 해제될 메모리의 총 크기

Outgoing reference / Incoming reference
- Outgoing reference
- 자신이 참조하고 있는 객체들의 목록 (맴버 변수들의 목록으로 이해 할 수 있음)
- Incoming reference
- 나를 참조하고 있는 객체들의 목록 (outgoing reference와 반대)
- GC가 되기위해 어떤 객체에서 참조관계가 끊어져야 하는지 알수 있음
Histogram
각 클래스 별로 생성된 객체들을 보여줌 (클래스 별로 그룹핑 다고 볼 수 있음)
- 어떤 클래스가 메모리를 주로 소비하는지 몇개나 생성되었는지 알 수 있음
- 한개만 존재해야 하는데 여러개 존재하거나 비정상적으로 많이 생성된 경우를 알 수 있음
Dominator Tree
객체 간의 지배 관계를 트리 형태로 표현 한 것 - Keep-alive 트리라고도 불림
- 가비지 컬렉터가 바라보는 객체간의 관계도로 이해할 수 있음
- 왼쪽의 그래프를 Dominator 화 시킨것이 오른쪽 트리
- D, F, H 노드중 H의 경우 C의 하위 노드로 Dominator로 된것을 볼수 있는데,
- 이는 H의 경우 F와 G에서 모두 참조하고 있으므로 결과적으로 C에 의해 수명이 결정되므로 C의 하위로 Dominator 화 되었다.