1. A method for allocating blocks of memory in an object oriented software system, said method comprising the steps of: generating an object instance pool for an object class, wherein said object instance pool comprises a plurality of entries such that each entry is associated with a memory block configured to store an object instance for said object class; allocating, from an entry of said object instance pool, a memory block when an object instance is instantiated from said object class if one of said memory blocks are available for allocation from an entry of said object instance pool; and re-assigning memory blocks from object instances of said object class into an entry of said object instance pool when said object instances are no longer required in said object oriented software system.