G1 the lastest Java garbage collector is a generational collector like CMS. The key differences between G1 and CMS collectors are
- In CMS the young and old generation heap space are physically differentiated. But in the case of G1 they are logical. This is achieved by dividing the total heap space into number of
regions(2000) and the regions are identified whether they belong to young or old space.
- Compaction of the heap space is done as part of the collection process which was not the case in CMS.
- G1 collector tries to meet user specified target for application pause time during the collection process.