- Organize all free chunks of memory into a linked list (the free-list).
- When the program requests space for an object in the heap, do linear search on the linked list (O(n)) until space of suitable size is found.
- When an object is collected, add its space to the free-list.
- Slow. Easy to implement.
- There are more sophisticated ways to manage the search rather than a free-list. But some kind of search is necessary if the heap is not periodically de-fragmented, and search will always be slower than a bump allocator from Fast Object Allocation.