Simple Techniques to manage heap
Hide the allocation and release of dynamic memory values inside an object.
Maintaining a reference count that indicates the number of pointers to the value. When this count is decremented to zero, the value can be recovered.