Vi esta lista de números de versión principales para Java en otra publicación:
- Java 1.2 usa la versión principal 46
- Java 1.3 usa la versión principal 47
- Java 1.4 usa la versión principal 48
- Java 5 usa la versión principal 49
- Java 6 usa la versión principal 50
- Java 7 usa la versión principal 51
- Java 8 usa la versión principal 52
- Java 9 usa la versión principal 53
- Java 10 usa la versión principal 54
- Java 11 usa la versión principal 55
- Java 12 usa la versión principal 56
- Java 13 usa la versión principal 57
- Java 14 usa la versión principal 58
- Java 15 usa la versión principal 59
- Java 16 usa la versión principal 60
- Java 17 usa la versión principal 61
- Java 18 usa la versión principal 62
- Java 19 usa la versión principal 63
¿De dónde viene esta lista? ¿Hay alguna referencia específica para esto? ¿Preferiblemente algo que muestre versiones menores también?
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, obtuve 50, esperaba 49. O algo así.
Consulte aquí en el desplazamiento de bytes 7 para obtener más información.
También se puede encontrar información adicional 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, las versiones se enumeran con la VM de Java a la que corresponden.
Fuente oficial para el número de versión principal:
Especificación de máquina virtual de Java, Capítulo 4. El formato de archivo de clase
La última versión publicada de la especificación JVM se puede encontrar aquí .