The Java language specification - Gosling, James (The Java series, 1996)