Search code examples
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
23 67
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.