This chapter covered automatic memory management in detail, concentrating on adaptive memory management, where feedback from the runtime system is continuously used to optimize GC performance.
We explained the mark and sweep as well as the stop and copy strategies for garbage collection and discussed how more advanced variants of these can work in a modern runtime, especially JRockit. We discussed how to implement fast scalable GC on all levels from software to hardware.
Every GC needs to stop the world at some point, for example when sweeping or compacting. Stopping the world introduces latencies. The main lesson is that we can optimize either for throughput or for low latencies, one at the cost of the other.
We introduced the product JRockit Real Time, that provides a degree of determinism and pause time targets for the JVM. JRockit Real Time can massively improve response times and decrease their deviation for most applications without the need to modify the applications.
Some of...