Релиз Axiom JDK 18

Вышел релиз Axiom JDK 18: будущее Java-разработки


Март 24, 2022


Содержание

  1. Java совершенствуется
  2. Что ожидает Java в дальнейшем
    1. Внедрение проектов, разрабатываемых вне основной ветви
    2. Улучшенная поддержка облачной разработки
    3. Появление новых платформ и улучшенная поддержка существующих
    4. Упрощение использования внешнего кода в Java
  3. Мигрировать или нет — извечный вопрос
  4. Возвращаемся к Java 18
  5. Заключение — будущее не за горами

OpenJDK 18 — релиз без долгосрочной поддержки (LTS), но от этого он не становится менее значимым и интересным. Минорные версии Java дают возможность протестировать фичи, которые будут внедрены в последующий LTS-релиз.

В этой статье мы поговорим о том, как изменения повлияют на будущее Java.

Java совершенствуется

Основной акцент в улучшении Java делается на безопасности, так как в любом языке программирования постоянно выявляются новые уязвимости: примером тому служит прошлогодняя ситуация с log4j.

Несколько внедренных изменений помогают повысить безопасность и стабильность приложений. JEP 400: использование UTF-8 по умолчанию предотвращает возникновение ошибок при локализации или использовании приложений в странах, где латиница не является основным алфавитом. JEP 421: объявление функции финализации устаревшей позволит избавиться от функции финализации, которая может замедлять работу программ или приводить к серьезным утечкам ресурсов.

Что касается удобства написания кода, JEP 408: простой Web Server позволяет выполнять быстрое тестирование веб-приложений, а JEP 413: сниппеты кода в документации API облегчает комментирование и чтение кода.

Но важнейшая новость заключается во внедрении или улучшении новых фич в Java 18. JEP 416, JEP 417, JEP 418, JEP 419 и JEP 420 направлены на использование современных API и функций в Java, что позволяет языку сохранить лидерство в мире разработки ПО.

Хотите узнать, почему Axiom JDK идеально подходит для вашей компании?

Что ожидает Java в дальнейшем

Мы полагаем, что эти тенденции сохранятся, поэтому можем предположить, что ждет Java разработчиков в будущем. Давайте сейчас обсудим наши предсказания, а через год проверим, сбылись они или нет.

Внедрение проектов, разрабатываемых вне основной ветви

Сейчас в разработке находится много отдельных проектов, но близится день, когда они будут внедрены в очередной номерной релиз. Проект Valhalla, направленный на улучшение производительности приложений и изменение взаимодействия с объектами в массивах, позволит оптимизировать работу JVM. Проект Loom, добавляющий реализацию виртуальных потоков в виртуальную машину, как мы полагаем, не войдет в основную ветвь в ближайшие 10 лет, но работа в этом направлении ведется, включая JEP 418 (SPI для разрешения интернет-адреса). Наконец, проект Amber привнесет в Java такие фичи, как record patterns (JEP 405) для деконструкции структурных значений и строковые шаблоны (JEP draft), содержащие вложенные выражения, включенные в результат выражения строкового шаблона.

Улучшенная поддержка облачной разработки

Микросервисы, контейнеры, брокеры сообщений, нативные образы — все это далеко не новые технологии, но работа по их совершенствованию продолжается. В 2022 г. можно ожидать не только улучшения их стабильности, скорости и размеров, но и появления новой операционной системы, идеально подходящей для любых Java-контейнеров и повышающей их производительность и безопасность. На самом деле, это не просто догадка — команда Axiom JDK скоро выпустит такую ОС, которая поможет существенно сократить издержки и риски в облаке при развертывании Java-приложений!

Благодаря этому компании смогут гораздо эффективнее распоряжаться облачными ресурсами для развертывания Java-приложений, и 2022 г. будет годом миграции в облако даже для тех компаний, которые до этого предпочитали полагаться на собственные серверы.

Появление новых платформ и улучшенная поддержка существующих

Что касается поддержки различных архитектур и совместимости приложений с разными платформами, мы считаем, что у Java в этой сфере нет конкурентов. И в этом году она еще сильнее укрепит свои позиции!

Новая линейка процессоров RISC-V в ближайшем будущем станет полезным дополнением к процессорам x86 и ARM. Их главное преимущество заключается в том, что микросхемы на базе этой архитектуры можно разрабатывать без необходимости централизованного лицензирования системы команд. Именно поэтому многие компании заинтересованы в развитии RISC-V. Например, The Linux Foundation объявил о партнерстве с RISC-V Foundation (статья на английском языке). На данный момент эти процессоры используются в основном во встроенных устройствах, но в скором времени ожидается появление гораздо большего количества систем и вендоров, а благодаря поддержке RISC-V в основной ветви OpenJDK, все изменения будут портироваться и на эту платформу.

AArch64 и AArch32 полностью поддерживаются в Java, при этом обеспечение стабильности и производительности AArch64 совершенствуется с каждым релизом. Компании, использующие версии Java 11 и выше, могут в полной мере воспользоваться возможностями процессоров Aarch64. Мы ожидаем появления новых улучшений в последующих релизах Java.

Но и это еще не все: новые модели Mac получат улучшенную поддержку процессоров Aarch64 и нового графического API.

Упрощение использования внешнего кода в Java

В проект Panama (страница на английском языке), упрощающий использование внешних функций в приложениях на Java, уже было внесено много улучшений. Мы не думаем, что он будет готов к введению в основную ветвь в 2022 г., но, скорее всего, чуть позже мы станем свидетелями прорывных технологий, которые устранят насущную проблему медленных вызовов нативных библиотек. Если это произойдет, Java станет прекрасным языком для создания, например, нейронных сетей и и научных приложений, где раньше предпочтение отдавалось Python или Julia.

Мигрировать или нет — извечный вопрос

Большое количество приложений до сих пор работают на Java 8 (а некоторые даже на Java 6 или 7), и несложно понять, почему. Эту версию все еще поддерживают многие вендоры (включая команду Axiom JDK), а миграция с 8-й на любую версию выше — непростой процесс из-за существенных изменений, представленных в Java 9. Но мы полагаем, что в 2022 году многие компании все же решат мигрировать на новые LTS-версии по следующим причинам:

  • В прошлом году впервые за три года вышел LTS-релиз, и на данный момент его можно считать достаточно безопасным и надежным.
  • Новые цикл выхода релизов в дальнейшем обеспечит более плавный процесс непрерывной миграции (статья на английском языке).
  • Подходит срок окончания поддержки Java 8.
  • Основные библиотеки и средства разработки поддерживают версии Java 9 и выше, а некоторые требуют более новые версии в качестве минимальных.

Компании уже тестируют новые версии и дают положительную обратную связь. Важно отметить, что несмотря на то, что последним LTS-релизом является JDK 17, разработчики с большой вероятностью перейдут на предыдущую LTS-версию, 11. Она обеспечивает идеальное соотношение стабильности и новых фич. Но те, кто использует фреймворк Spring, предпочтут Java 17.

Новые задачи в ИТ-отрасли требуют современных решений, и у вас появился шанс их протестировать! Если есть возможность мигрировать — сделайте это и присоединитесь к тем, кто определяет путь развития индустрии!

Возвращаемся к Java 18

Итак, будущее Java мы обсудили, теперь давайте вернемся в настоящее, а именно к последнему релизу.

Как обычно, новая версия содержит много фиксов и изменений:

  • В JDK — 2 131;
  • В FX — 124.

Как видите, перечень устраненных в этом релизе багов внушительный. Ознакомьтесь с ним, чтобы получить представление о плодотворной работе сообщества над новой версией Java! Инженеры команды Axiom JDK также приняли участие в этом процессе, устранив 4 проблемы.

Заключение — будущее не за горами

Axiom JDK 18 — это не просто очередной релиз, но прекрасный пример того, как стремительно меняется мир Java-разработок. Благодаря уже существующим тулам, таким как Axiom Administration Center и Native Image Kit, а также новым проектам, популярность Java продолжит расти. Axiom JDK можно смело рекомендовать как идеальную платформу для ваших будущих или существующих проектов.

Author image

Олег Чирухин

Директор по коммуникациям с разработчиками (DevRel)

Команда Axiom JDK roman.karpov@axiomjdk.ru Команда Axiom JDK logo Axiom Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 Команда Axiom JDK 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67