The Java Language Specification, Second Edition. The Java Series (2000)

by James Gosling, Bill Joy, Guy Steele, Gilad Bracha