Maintenance Review of the Java Language Specification
By abuckley on Mar 31, 2011
The Java Language Specification is the authoritative definition of the Java programming language. Officially, the Specification is maintained in the Java Community Process as JSR 901. The Specification was last updated in 2004 by JSRs 14, 133, 175, and 201, and published as the book, "The Java Language Specification, Third Edition" (2005).
Since that time, numerous corrections and clarifications to the Specification have been recorded in Sun/Oracle's public bug tracking system. Often, they align with changes made in JDK7's javac, the Reference Implementation of a compiler for the Java programming language.
Oracle has now produced a cohesive document integrating these corrections and clarifications. Per the JCP maintenance procedure, Oracle initiated a Maintenance Review of JSR 901 in March 2011. It proposes the "Java SE 7 Edition" of the Java Language Specification.
In an effort to support long-term readability and testability, Oracle has strongly differentiated normative material from informative material in the Specification. For example, the compile-time errors possible for a field declaration are normative, but the conventional order of modifiers in a field declaration is informative. More details are given in the change log.
Changes for JSR 334 (a.k.a. Project Coin) are not included because they are not yet final. They will be integrated before Java SE 7 goes final.
As Maintenance Lead for JSR 901, I hope you find the proposed Specification interesting and useful. If you have substantive technical comments about the specific changes proposed for the Java SE 7 Edition, please send them to me directly.