Корпорация Oracle объявила о выпуске Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) и Java EE 8 Software Development Kit (SDK). JDK 9 — это готовая к работе в производственных средах реализация платформы Java SE 9, недавно принятая совместно с Java EE 8 исполнительным комитетом Java Community Process (JCP). Java SE 9 предлагает более 150 новых функций, в том числе новую систему модулей и усовершенствования, которые повышают масштабируемость, усиливают безопасность, улучшают управление производительностью и упрощают разработку ПО с использованием самой популярной в мире платформы программирования. Благодаря обновлениям в восьми основных спецификациях, Java EE 8 модернизирует платформу Java EE и упрощает ее применение для разработки облачных и микросервисов.
Отличительной особенностью Java SE 9 является система Java Platform Module System, также известная как Project Jigsaw, которая упрощает разработку ПО, обеспечивая надежную сборку и обслуживание сложных приложений. Эта система также делает сам инструментарий JDK более гибким, позволяя разработчикам при развертывании в облаке включать в пакет только те части JDK, которые необходимы для выполнения приложения.
«Java SE 9 — результат широкого отраслевого сотрудничества, разработка данной версии включала открытый анализ, еженедельные сборки и активное взаимодействие инженеров Oracle с членами мирового сообщества разработчиков Java в рамках OpenJDK Community и JCP, — рассказал Жорж Сааб, вице-президент Oracle по разработке Java Platform. — Эта версия Java SE предоставит миллионам разработчиков обновленные инструменты, необходимые для дальнейшего создания приложений следующего поколения — с легкостью, производительностью и гибкостью».
OpenJDK Community — это сообщество, в рамках которого различные его члены более десяти лет совместно работают над реализацией платформы Java SE с открытым исходным кодом. В числе других ключевых особенностей Java SE 9: JShell (Java Shell) с интерактивным инструментом Read-Eval-Print-Loop, который позволяет разработчикам быстро ознакомиться с новыми возможностями языка и упрощает поиск API-интерфейсов; улучшения в Javadoc, облегчающие изучение разработчиками новых API, включая функцию поиска в самой документации по интерфейсам программирования, а также возможности получения информации о том, какой модуль определяет каждый класс или интерфейс; усовершенствования в API Streams, повышающие производительность разработчиков благодаря добавлению методов для принятия/удаления элементов Stream по заданному условию, итерации по элементам Stream и возможности создания потока Stream из значения Nullable. При этом также расширен набор интерфейсов Java SE API, которые могут служить источниками для Streams.
Oracle также объявила о нескольких изменениях, касающихся дальнейшей разработки и выпуска Java SE и Java EE. Так, корпорация планирует перейти на шестимесячные интервалы выпуска релизов Oracle Java SE, используя модель выпуска релизов с привязкой ко времени, а не по мере обновления функциональности. Наряду с этим изменением Oracle также будет распространять сборки OpenJDK по лицензии GPL (General Public License). Наконец, чтобы привести в лучшее соответствие Oracle JDK и OpenJDK, Oracle передаст в OpenJDK ранее коммерческие функции, такие как Java Flight Recorder из Oracle JDK.
Oracle также объявила о намерении передать технологии Java EE в Eclipse Foundation в сотрудничестве с другими вендорами и данным сообществом. Oracle, Eclipse и другие члены сообщества в настоящий момент разрабатывают детали, связанные с передачей технологий, процессами текущего управления и другими процедурами в сообществе Eclipse.
«Выпущенная сегодня новая версия Java Platform Enterprise Edition — это продукт, который, как мы думаем, разработчики будут рады использовать. Передавая технологии Java EE в Eclipse Foundation, переводя их в Open Source, мы закладываем основы и его будущего успеха, — сказал Майк Леманн, вице-президент по управлению продуктами Oracle. — Корпорация Oracle стремится работать с сообществом Java EE и Eclipse Foundation, чтобы продолжать инновации, поддержку и развитие корпоративной платформы Java».
Ключевые возможности Java EE 8 включают: поддержку HTTP/2 в Servlet 4.0; новый JSON Binding API и различные усовершенствования в JSON-P 1.1; расширение JAX-RS для поддержки генерируемых сервером событий (Server-Sent Events) и новый Reactive Client API; новый Security API для обеспечения безопасности облачных и PaaS-приложений; многочисленные усовершенствования в CDI, включая поддержку асинхронных событий.