1. Organize all free chunks of memory into a linked list (the free-list).
  2. When the program requests space for an object in the heap, do linear search on the linked list () until space of suitable size is found.
  3. 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.