Newsletter:

(Article) Garbage Collectors in JVM

Article : 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

1. young objects
2. 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

Young generation collections occur relatively frequently and are efficient and fast because the young generation space is usually small and likely to contain a lot of objects that are no longer referenced. Objects that survive some number of young generation collections are eventually promoted to the old generation. Old generation is typically larger than the young generation and its occupancy grows more slowly. As a result, old generation collections are infrequent, but take significantly longer to complete.

[Read More..]

Courtesy:- Mynotes.wordpress.com