The Java Language Specification - James Gosling (Addison-Wesley, 2005)