Garbage collection
Automatic memory management is an important aspect of JVM that relieves the programmer from the need to do it programmatically. In Java, the process that cleans up memory and allows you to reuse it is called Garbage Collection (GC).
Responsiveness, throughput, and stop-the-world
The effectiveness of GC affects two major application characteristics – responsiveness and throughput. Responsiveness is measured by how quickly an application responds (brings necessary data) to the request. For example, how quickly a website returns a page, or how quickly a desktop application responds to an event. The smaller the response time, the better the user experience. Throughput, on the other hand, indicates the amount of work an application can do in a unit of time. For example, how many requests a web application can serve, or how many transactions a database can support. The bigger the number, the more value the application can potentially generate and the more user requests it can...