Java Memory Management: A comprehensive guide to garbage collection and JVM tuning - van Putten (IEEE, 2003)