Duplicate :
|
Enterprise applications that frequently allocate large objects partially suffer from region fragmentation: i.e. the LOB cannot be allocated directly without GC because there are not enough contiguous regions available. One idea to mitigate this issue is to allocate "old gen" type regions (old, LOB) at one end of the logical heap, while allocating "young gen" type regions at the other end (preferably at the high end, as G1 can only resize from the top at the moment). Tests with a prototype on a range of applications has shown that this decreases region fragmentation considerably.