How Is Memory Stored On The Heap Freed In Java