Unintentional object retention is the Java Language equivalent of a memory leak.
http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html
getting started with phobos
https://phobos.dev.java.net/getting_started.html