- G1 uses parallelism which are mostly used in hardware today.The main advantage of G1 is designed in such a way to make use of all available CPU's and utilize the processing power of all CPU's and increase the performance and speed in Garbage Collection.
- Concurrency feature of G1 allows to run Java threads to minimize the heap operations at stop pauses.
- Next feature which plays a key role in increasing the Garbage Collection is treating the young objects(newly created) and the old objects(which lived for some time) differently.G1 mainly focuses on young objects as they can be reclaimable when traversing the old objects.
- Heap compaction is done to eliminate fragmentation problems.
- G1 can be more predictable when compared to CMS.
- A single contiguous heap which is split into same-sized regions. No separation between younger and older regions.
- G1 uses evacuation pauses.Evacuation pauses are done in parallel by using all the available processors.
- G1 uses a pause prediction model to meet user-defined pause time targets
- Like CMS,G1 also periodically performs a concurrent marking phase.
- Unlike CMS, G1 does not perform a concurrent sweeping phase.
Here are some elaborated details
- Parallelism and Concurrency. G1 takes advantage of the parallelism that exists in hardware today. It uses all available CPUs (cores, hardware threads, etc.) to speed up its “stop-the-world” pauses when an application's Java threads are stopped to enable GC. It also works concurrently with running Java threads to minimize whole-heap operations during stop-the-world pauses.
- Generational. Like the other HotSpot GC's, G1 is generational, meaning it treats newly-allocated (aka young) objects and objects that have lived for some time (aka old) differently. It concentrates garbage collection activity on young objects, as they are the ones most likely to be reclaimable, while visiting old objects infrequently. For most Java applications, generational garbage collection has major efficiency advantages over alternative schemes.
- Compaction. Unlike CMS, G1 performs heap compaction over time. Compaction eliminates potential fragmentation problems to ensure smooth and consistent long-running operation.
- Predictability. G1 is expected to be more predictable than CMS. This is largely due to the elimination of fragmentation issues that can negatively affect stop-the-world pause times in CMS. Additionally, G1 has a pause prediction model that, in many situations, allows it to often meet (or rarely exceed) a pause time target.
Comments (1)
Leave a Reply