promoted to the old generation. Each time the (recently or) newly created pooled object is
processed, the GC algorithm must perform some work to copy it and adjust references to it
until it finally makes it into the old generation.
Although that seems like it might be the end of it, once the object is promoted to the old gen-
eration, it can cause even more performance problems. The length of time it takes to perform
a full GC is proportional to the number of objects that are still alive in the old generation.
The amount of live data is more important even than the size of the heap; it is faster to pro-
cess a 3 GB old generation with few surviving objects than to process a 1 GB old generation
where 75% of the objects survive.