Режим компиляции совместимости Java - PullRequest
0 голосов
/ 06 сентября 2018

Я столкнулся со следующей загадкой. В настоящее время я развертываю приложение Java 8 как на 32-битных, так и на 64-битных компьютерах с Windows.

Поскольку Java 8 достигает своего EoL, я начинаю сталкиваться с очень трудным вопросом о том, что делать дальше.

Поскольку Oracle не будет предоставлять 32-битные версии своих более новых версий Java, я пока придерживаюсь 8, хотя и перехожу к предложению OpenJDK, которое они обещают поддерживать даже дальше, чем EoL 8-го уровня. Для этого я также перейду на OpenJ9 в качестве виртуальной машины (которая предоставляет 32-битную версию).

Мой вопрос заключается в следующем. Я начинаю задумываться о переходе на Java 11. Мне было интересно, можно ли будет использовать этот jdk для компиляции в режиме совместимости и целевой версии 8 за счет того, чтобы не использовать какие-либо 11 специфических функций?

Кроме того, может ли скомпилированный код работать правильно в такой комбинации, то есть код Java 11 скомпилирован совместимо и развернут в среде, работающей на 32-битной версии?

Мне также было интересно, какова поддержка совместимости с Java 11.

1 Ответ

0 голосов
/ 06 сентября 2018

Мне было интересно, можно ли будет использовать этот JDK для компиляции в режим совместимости и целевая версия 8 за счет отсутствия каких-либо 11 специфических особенностей?

В идеале --release 8 флаг javac должен нормально работать при компиляции с JDK11 для Java 8.

Мне было интересно, можно ли будет использовать этот JDK для компиляции в Режим совместимости и целевая версия 8 за счет отсутствия каких-либо 11 специфических функций?

Я бы предположил, что байт-код, сгенерированный после компиляции с первого шага, мог бы последовательно использоваться в 32-битных и 64-битных системах времени выполнения (средах).

...