Как запустить Java в режиме совместимости?
Поддерживает ли Java работу в режиме совместимости? Другими словами, если у нас установлена система JDK 8, можно ли ее настроить для запуска моего приложения в версии 7 или более ранней, используя ту же установку?
Я могу привести один пример, например, IE-11 может быть переключен на IE 8, 9 или 10 в зависимости от совместимости.
1 ответ
Я согласен с комментарием Каямана. Могут возникнуть 2 типа несовместимости: изменения байт-кода (некоторые функции поддерживаются в 8, а не в 7 - новые версии Java имеют тенденцию быть восходящей совместимостью - так что 8 сможет запускать весь 7-целевой код) и изменения библиотеки, которые более проблематично.
Если вы скомпилировали с Java 8, ориентированным на 7+, ваш байт-код будет совместим с Java 7 JVM, но у вас нет гарантии, что он будет работать с библиотеками Java 7.
Тогда вам лучше всего скомпилировать и запустить с Java 7 - и он (скорее всего) будет работать с Java 8.
Затем есть другие изменения, которые могут повлиять на ваше приложение (например, производительность GC).