Fundamental heap management

Before addressing actual algorithms for garbage collection, we need to talk about allocation and deallocation of objects. We will also need to know which specific objects on the heap to garbage collect, and we need to briefly discuss how they get there and how they are removed.

Allocating and releasing objects

Allocation on a per-object basis normally, in the common case, never takes place directly on the heap. Rather, it is performed in thread local buffers or similar constructs that are promoted to the heap from time to time. However, in the end, allocation is still about finding appropriate space on the heap for the newly allocated objects or collections of objects.

In order to put allocated objects on the heap, the ...

Get Oracle JRockit now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.