7

It would appear as though the only way to get the Java 6 version of the Java Virtual Machine Specification is to take the Second Edition, merge in the Existing Changes and then add on top of that the Java 6 proposed changes which are not really proposed anymore, but actual.

Really?

Two question arise out of this:

  1. Is that all the deltas?
  2. Why isn't there an official current version?

Anybody know of anything I'm missing, to either end?

David Citron
  • 43,219
  • 21
  • 62
  • 72
  • I've posted the answer to it a while ago here: http://www.jroller.com/andyl/entry/updated_jvm_specs_for_java – Andrey Loskutov Oct 30 '11 at 14:33
  • @Andrey: you could easily just post the gist of that post here, instead of linking... – Shog9 Oct 30 '11 at 17:55
  • Back when Sun was in charge they used access to the latest docs as a way to keep alternative JVM developers on a leash. I can only believe it's gotten worse since Oracle took over. – Hot Licks Oct 31 '11 at 03:00
  • 1
    @HotLicks Java 5 and Java 6 were the only versions with such specification issues and this question has been asked before Oracle took over. Since then, everything went back to normal. See https://docs.oracle.com/javase/specs/index.html which has all specifications released since then, all on time. No need for conspiration theories… – Holger Feb 18 '22 at 15:49

2 Answers2

5

Is that all the deltas?

Yes, the documents you link to are the most up-to-date sources of information for the current state of the JVM specification.

Why isn't there an official current version?

This is only a guess, but I would say it's because "The JCP has over 1200 corporate and individual participants." Too many cooks.

The other possibility is, with Java 7 just over the horizon, they're waiting to publish the new JVM spec until the new release.

Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880
1

This has been addressed with the release of Java 7. TheJava 7 Docs contain a Specifications sidebar link (see it?) which links to two new PDFs (the JLS and JVMS).

As @Andrey Loskutov points out in a blog post linked from a comment on this question, the JSR-000336 Java SE 7 Release Contents Final Release Specification contains an annex which has various versions of those artifacts and some surrounding verbiage, including the following text:

The last self-contained specification of the Java Virtual Machine was the Second Edition in 1999. It was affected in 2004 by JSRs for Java SE 5.0. For example, JSR 14 deeply revised the ClassFile chapter. No integrated document was published, but nevertheless the specification of the Java Virtual Machine was officially updated in 2004. Changes between 1999 and 2004 were identified in individual chapters at the time, and it is no longer possible to identify changes made specifically for Java SE 5.0.

The 2004 specification was then affected in 2006 by JSRs for Java SE 6. For example, JSR 202 deeply revised the Linking chapter. Again, no integrated document was published, but nevertheless the specification of the Java Virtual Machine was officially updated in 2006. Again, changes between 2004 and 2006 were identified in individual chapters at the time, and it is no longer possible to identify changes made specifically for Java SE 6.

Why Sun/Oracle makes a research project out of finding their documentation is a matter for a different forum. Suffice to say, however, that their scattered approach to documentation combined with the fact that nothing links to anything else makes dealing with Java much harder than it should be.

Community
  • 1
  • 1
David Citron
  • 43,219
  • 21
  • 62
  • 72