Java Language Specification and the JVM Specification now available to peruse at your leisure
Oracle have finally published the official Java SE 7 edition specifications of the Java language and the JVM.
The definitive publication for all technical aspects of Java SE 7 can be viewed online in PDF and HTML formats, continuing the tradition of publishing a Java bible of sorts. Alex Buckley, spec lead of the Java language and VM at Oracle, informed us that officially, the specifications have been available in PDF form since July 2011, in Annex 3 of the Final Release of JSR 336 (Java SE 7), but were revised slightly for the version we have today.
Confusion may arise of the naming of this documentation – JLS 7 and JVM7, breaking away from the slightly perplexing old numbering format to a more simplified approach of just naming it after the version. So the next specifications will be JLS 8 and JVM 8.
This version contains the prefaces from past versions of the syntax and semantics guide. From the original version created by James Gosling, Bill Joy and Guy Steele 15 years ago, there’s this introduction
In their book The C Programming Language, Brian Kernighan and Dennis Ritchie said that they felt that the C language “wears well as one’s experience with it grows.” If you like C, we think you will like the Java programming language. We hope that it, too, wears well for you
A decade and a half on, Alex Buckley denotes several of the innovations added to Java SE 7 within his preface, including the following:
- Improved literals
- Simplified method calls
- Diamond operators
- Strings in switch
- Improvements for dynamically typed JVM languages
His addendum is suitably poignant too.
Long may the Java programming language to be a reliable partner and trusted friend for millions of developers.
We can expect printed versions some time in 2012. For now, Buckley encourages us to report any errors to him directly, as per the JCP pages for JSR 901 and JSR 924. All proposals for new features should be made through the JDK Enhancement Proposal Process.