class文件的版本号由两个u2
组成(u2 minor_version; u2 major_version;
),分别表示的是minor_version
(副版本号)、major_version
(主版本号),我们常说的JDK1.8
、Java9
等说的就是主版本号,如上图中的TestHelloWorld.class
的版本号0x34
即JDK1.8
。
Java版本对应表:
JDK版本 | 十进制 | 十六进制 | 发布时间 |
---|---|---|---|
JDK1.1 | 45 | 2D | 1996-05 |
JDK1.2 | 46 | 2E | 1998-12 |
JDK1.3 | 47 | 2F | 2000-05 |
JDK1.4 | 48 | 30 | 2002-02 |
JDK1.5 | 49 | 31 | 2004-09 |
JDK1.6 | 50 | 32 | 2006-12 |
JDK1.7 | 51 | 33 | 2011-07 |
JDK1.8 | 52 | 34 | 2014-03 |
Java9 | 53 | 35 | 2017-09 |
Java10 | 54 | 36 | 2018-03 |
Java11 | 55 | 37 | 2018-09 |
Java12 | 56 | 38 | 2019-03 |
Java13 | 57 | 39 | 2019-09 |
Java14 | 58 | 3A | 2020-03 |
Java15 | 59 | 3B | 2020-09 |