javaversion

List of Java class file format major version numbers?


I saw this list of major version numbers for Java in another post:

Java Major version
22 66
21 65
20 64
19 63
18 62
17 61
16 60
15 59
14 58
13 57
12 56
11 55
10 54
9 53
8 52
7 51
6 50
5 49
1.4 48
1.3 47
1.2 46
1.1 45
1.0.2 45

Where does this list come from? Is there a specific reference for this? Preferably something that shows minor versions too?


Solution

  • These come from the class version. If you try to load something compiled for java 6 in a java 5 runtime you'll get the error, incompatible class version, got 50, expected 49. Or something like that.

    See here in byte offset 7 for more info.

    Additional info can also be found here.