Written by the inventors of the technology, The Java Language Specification is the definitive technical reference for the Java programming language. It provides complete, accurate, and detailed coverage of the entire language and its syntax. If you want to know the precise meaning of Java's constructs, this is the source for you. The book specifies all of Java's syntax and semantics. It contains both lexical and syntactic grammars for the language, including a LALR(1) grammar. It describes all aspects of the language as checked by a Java compiler, including the semantics of all types, statements, and expressions. It also covers all aspects of the Java execution model, including exceptions, threads, and binary compatibility. In addition, the book gives specifications for all the types defined in the core packages of Java's Application Programming Interface (API): java.lang, java.io, and java.util.