Переход на Java 10 с Java 8. Выполнение сервисов в производстве

Мы хотим перенести все наши производственные сервисы на Java 10 с Java 8. Как я понял, мы можем столкнуться с проблемами со строками (gradle и т.д.), Зависимостями и т.д. Для разработки. Но когда дело доходит до самого JVM, то есть запущенных сервисов, мы столкнемся с любыми проблемами, если мы просто установим JVM 10 в производство для запуска наших банковых услуг?

Ответ 1

Я не уверен, почему это было приостановлено, поскольку это кажется разумным вопросом.

Руководство Oracle для перемещения приложений от JDK 8 и более ранних версий к JDK 9 и более поздним версиям - это "приложения, которые просто используют java.se, должны просто работать". Если вы не использовали (прямо или косвенно через стороннюю библиотеку или фреймворк), какие-либо внутренние API JDK (sun.misc.Unsafe является самым позорным), тогда вы можете оставить весь свой код приложения в пути к классам, и это, скорее всего, будет работать без изменений. Есть несколько различий, которые могут вас уловить с изменениями в таких вещах, как флаги командной строки.

Я написал два блогов об этом, что может быть полезно для вас:

https://www.azul.com/jdk-9-pitfalls-for-the-unwary/

https://www.azul.com/jdk-10-pitfalls-for-the-unwary/

Вы также должны иметь в виду, что нет никакого смысла переходить на JDK 10. JDK 11 будет выпущен в следующем месяце, и в этот момент обновления для JDK 10 прекратятся. Было бы лучше перейти на JDK 11. Если вы ищете долгосрочную поддержку, Oracle теперь взимает плату за это. Ознакомьтесь с нашими сборками Zulu OpenJDK.

Ответ 2

Хорошей отправной точкой является руководство по миграции JDK на сайте загрузки Oracle. Руководство по миграции JDK 10 охватывает переход от JDK 8 к JDK 10 и может быть найдено здесь:

https://docs.oracle.com/javase/10/migrate/toc.htm

Другим хорошим ресурсом являются заметки о выпуске JDK, так как они включают заметки о проблемах с известными источниками, двоичными и поведенческими возможностями. Вы можете найти примечания к выпуску для выпусков JDK 9 и JDK 10:

https://www.oracle.com/technetwork/java/javase/jdk-relnotes-index-2162236.html

Другим ресурсом является видео с конференций. Я несколько раз подготовился к теме перехода на JDK 9 и далее. Недавний из Devoxx BE 2017 можно найти здесь:

https://www.youtube.com/watch?v=uSR5JroBp34