When executing Java code, objects are created, used, and discarded repeatedly from memory. The process through which unused Java objects are discarded is called memory management , but is most commonly known as garbage collection (GC) . Garbage collection was mentioned in Chapter 5, as it was needed for explaining the difference between primitive and reference types, but in this chapter we will go deep under the hood of the JVM to resolve yet another mystery of a running Java application.
When the Java garbage collector does its job properly, the memory is cleaned up before new objects ...