Freeing Memory with Garbage Collection
Allocated memory needs to be deallocated when it is no longer needed. In some languages, the developer needs to take care of that. In some others, such as Java, this happens automatically. For Java, the garbage collector does this. The deallocation of memory is necessary for an application to keep running. Without the ability to free memory when it is no longer needed, we would only be able to allocate memory once, and eventually, we would run out of memory. In this chapter, we will be learning more about freeing memory on the heap using the garbage collector.
This can be a tough topic! Before you are ready for this chapter, you’ll need to have a clear understanding of the heap space. Again, we’ll visualize the concepts as much as possible to increase your understanding.
Here are the topics that will be discussed:
- Object eligibility for garbage collection (GC)
- Marking by the garbage collector
- Sweeping by the...