The Java language specification - Gosling, James (The Java Series, 2000)