Garbage Collectors in JVM
|
Throughput |
The percentage of total time not spent in garbage collection, considered over long periods of time. |
|
Garbage collection overhead |
The inverse of throughput, that is, the percentage of total time spent in garbage collection. |
|
Pause time |
The length of time during which application execution is stopped while garbage collection is occurring. |
|
Frequency of collection |
How often collection occurs, relative to application execution. |
|
Footprint |
A measure of size, such as heap size. |
|
Promptness |
The time between when an object becomes garbage and when the memory becomes available. |
Heap is divided into generations, mostly in two
- young objects
- old objects
Different collection algorithm can be used for different part (generation) of heap, and each algorithm can be optimized based on commonly observed characteristic of that particular generation.
weak-generation-hypothesis: most objects die young