Garbage collection
Automatic memory management is an important aspect of the JVM that relieves the programmer from the need to do so programmatically. In Java, the process that cleans up memory and allows it to be reused is called GC.
Responsiveness, throughput, and stop-the-world
The effectiveness of GC affects two major application characteristics – responsiveness and throughput:
- Responsiveness: This is measured by how quickly an application responds (brings the 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: This 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 the database can support. The bigger the number, the more value the application can potentially generate and the more user requests...