3

I'm trying to find a current specification for the Java .class format.

Everything basically leads me back to this JSR 202, but it doesn't look like it has been updated since 2006.

Is this the most recent version?

http://www.jcp.org/en/jsr/detail?id=202

4
  • 1
    Well, what did you expect? Java hasn't been updated since about that time. Commented Jan 7, 2011 at 0:51
  • Following the links, I found "This JSR will be delivered as part of J2SE 1.5", so it is reasonable to ask whether there has been a change in version 1.6. Commented Jan 7, 2011 at 1:01
  • Yes, that is why I was wondering. Java has had numerous updates since than, but I don't think there have been any actual language changes though. Commented Jan 7, 2011 at 1:03
  • Although the Java language changes fairly often, the underlying class file structure is pretty stable, in the same way that the binary structure of Windows executables or gcc object files are pretty stable. Commented Jan 7, 2011 at 1:31

1 Answer 1

1

Yes, that is the latest published version.

Sign up to request clarification or add additional context in comments.

3 Comments

How can one tell that it is the latest published version?
One way is to compile a java program with the latest java compiler, then look in the class file where the version number is and see if it has been revved.
Without getting too existential about it, it is the latest version because (a) JSR202 is final and published and (b) there is no JSR pending or proposed that would supersede it. I suppose, if you wanted to be perfectly sure, you could look at the source code in the OpenJDK project and see what the current compiler actually does.