COMPILER DESIGN
A book by James Gosling, Bill Joy and Guy Steele, "The Java Language Specification" Addison Wesley describes the syntax and semantics of Java.
A book by Tim Lindholm and Frank Yellin, "The Java Virtual Machine Specification", Addison Wesley describes virtual Macine.