Незначительная версия файла класса Java
Какая польза от минорной версии в файле класса Java? Это действительно используется до сих пор? https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html
1 ответ
Я пропустил следующий пункт в спецификации
"Реализация виртуальной машины Oracle Java в выпуске 1.0.2 JDK поддерживает версии файлов классов классов от 45.0 до 45.3 включительно. JDK выпускает 1.1.* Поддерживает версии форматов файлов классов в диапазоне от 45.0 до 45.65535 включительно. Для k ≥ 2 выпуск JDK 1.k поддерживает версии формата файла класса в диапазоне от 45.0 до 44+k.0 включительно."
Начиная с Java 11 JEP 12, доступен "язык предварительного просмотра и возможности виртуальной машины". Классы, использующие функции предварительного просмотра, имеют номер minor_version, равный0xFFFF
.
Файл класса означает, что он зависит от функций предварительной версии виртуальной машины Java SE $N, имея элемент major_version, который соответствует Java SE $N, и элемент minor_version, у которого установлены все 16 битов. Например, файл класса, который зависит от предварительных возможностей виртуальной машины Java SE 13, будет иметь версию 57.65535.
Итак, здесь используется minor_version. Мне неизвестно о каком-либо другом использовании minor_number, во всех остальных случаях это0x0000
(за исключением самых старых версий Java, до версии 1.1, где для minor_version установлено значение 0x0003
).