¿Lista de números de versión principales del formato de archivo de clase Java?
Vi esta lista de números de versiones principales de Java en otra publicación:
Java | Versión principal |
---|---|
22 | 66 |
21 | sesenta y cinco |
20 | 64 |
19 | 63 |
18 | 62 |
17 | 61 |
dieciséis | 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 |
¿De dónde viene esta lista? ¿Existe alguna referencia específica para esto? ¿Preferiblemente algo que también muestre versiones menores?
Estos provienen de la versión de clase. Si intenta cargar algo compilado para Java 6 en un tiempo de ejecución de Java 5, obtendrá el error, versión de clase incompatible, obtuvo 50, se esperaba 49. O algo así.
Consulte aquí en el desplazamiento del byte 7 para obtener más información.
También puede encontrar información adicional aquí .
Fuente oficial del número de versión principal:
Especificación de máquina virtual Java SE 21, Capítulo 4. El formato de archivo de clase
La última versión publicada de la especificación JVM se puede encontrar aquí .
Encontré una lista de versiones de archivos de clase Java en la página de Wikipedia que describe el formato del archivo de clase:
http://en.wikipedia.org/wiki/Java_class_file#General_layout
En el desplazamiento de bytes 6 y 7, se enumeran las versiones a las que corresponden las máquinas virtuales Java.