Oracle представила Java 14

>>> Опубликовано - 2020/03/20 - просмотров - 2

Метки: Oracle   Java  

Oracle представила Java 14Корпорация Oracle объявила о выпуске Java 14 (Oracle JDK 14). В нем разработчикам предлагаются новые функции, в числе которых можно отметить две ознакомительные возможности (Preview Features) – Pattern Matching for instanceof (JEP 305) и Records (JEP 359), а также Text Blocks (JEP 368) для повторного превью. Кроме того, в новом релизе Java добавлена поддержка конструкций выбора Switch Expressions, включены новые API-интерфейсы для непрерывного мониторинга данных JDK Flight Recorder, расширена доступность Z Garbage Collector с малой задержкой для macOS и Windows. А в модулях инкубатора представлен упаковщик самодостаточных приложений Java и новый API-интерфейс для безопасного и эффективного доступа к областям внешней памяти вне динамически распределяемой heap-памяти Java.

«Java 14 – еще одно свидетельство преимуществ шестимесячного цикла обновления: разработчики получают доступ к функциям, которых они в противном случае ожидали бы годами, – отметил Джордж Сааб, вице-президент Oracle по разработке платформы Java, – JDK 14 не только содержит ряд улучшений для повышения продуктивности разработчиков, в этот релиз также впервые включен важный контент из таких проектов, как Project Panama – расширенный интерфейс доступа к внешней памяти (Foreign-Memory Access API, JEP 370) и дальнейшие усовершенствования из Project Amber – Pattern Matching (JEP 305) и Records (JEP 359). Эти крупные улучшения свидетельствуют об обширной работе, проводимой в рамках данных новаторских проектов».

Новые функции, представленные в Java 14, включают в себя:

JEP 305: Pattern Matching for instanceof (превью) – Данное знакомство с технологией расширяет функциональность сопоставления с шаблоном для оператора instanceof. Это повышает производительность труда разработчика, устраняя необходимость в шаблонном коде, и позволяет получить более компактный и типо-безопасный код.

JEP 343: Packaging Tool (инкубатор) – Предоставляет разработчикам возможность упаковывать приложения Java для распространения в специфичных для платформ форматах. Это помогает создавать современные приложения в виде единого поставляемого пакета библиотек, в котором объединены среда исполнения и код приложения. Эти инструменты представлены в модуле инкубатора и позволяют передавать разработчикам неконечные версии API и нефинальные версии инструментов для получения их отзывов. Такие API/инструменты либо дорабатываются до финальных версий, либо удаляются в следующем релизе.

JEP 345: NUMA-Aware Memory Allocation for G1 – Повышает общую производительность сборщика мусора G1 в системах с архитектурой памяти NUMA (Non-Uniform Memory Access).

JEP 349: JFR Event Streaming – Открывает данные JDK Flight Recorder (JFR) для непрерывного мониторинга. Это упростит доступ различных инструментов и приложений к данным JFR и будет стимулировать дальнейшие инновации.

JEP 352: Non-Volatile Mapped Byte Buffers – Добавляет режим мэппинга файлов для JDK при использовании энергонезависимой памяти. Постоянный характер энергонезависимой памяти упрощает обеспечение неизменности данных и улучшает производительность, что и используется этой функцией.

JEP 358: Helpful NullPointerExceptions – Повышает удобство использования исключений NullPointerException, точно описывая, какая переменная была равна нулю, и предоставляя другую полезную информацию. Это повысит продуктивность разработчиков и улучшит качество многих инструментов разработки и отладки.

JEP 359: Records (превью) – Эта ознакомительная возможность обеспечивает компактный синтаксис объявления классов, которые содержат поверхностные неизменяемые данные (shallowly immutable). Данная функция может значительно сократить шаблонный код в классах такого типа, но самое большое преимущество – возможность моделировать данные как данные. Она позволит легко, однозначно и кратко объявлять эти поверхностные неизменяемые агрегаты номинальных данных.

JEP 361: Switch Expressions (стандартная) – Данная функция присутствовала в JDK 12 и JDK 13 как ознакомительная и теперь добавлена в качестве стандартной. Это позволяет использовать конструкцию выбора switch как оператор или выражение. Эта функция упрощает кодирование и открывает возможность применения функции сопоставления с шаблоном (Pattern Matching, JEP 305), представленной в этом релизе в качестве ознакомительной.

JEP 364: ZGC on macOS и JEP 365: ZGC on Windows – Хотя большинству пользователей, которым нужна функция Z Garbage Collector, также необходима масштабируемость сред на основе Linux, часто возникает потребность в развертывании и тестировании для поддержки ZGC в macOS и Windows. Существуют также приложения для ПК, ориентированные на Windows и macOS, которые получат преимущества от использования ZGC.

JEP 368: Text Blocks (второе превью) – Текстовые блоки впервые были представлены в качестве превью в Java 13, и после отзывов и замечаний конечных пользователей в них были добавлены улучшения. Теперь текстовые блоки снова предлагаются как ознакомительная возможность в Java 14 с целью сделать их стандартом в будущем выпуске JDK. Текстовые блоки позволяют легко выражать строковые последовательности, которые занимают несколько строк исходного кода. Это улучшает читаемость текстовых фрагментов в программах Java, которые представляют код, написанный на отличных от Java языках. Поддерживается миграция из строковых литералов за счет того, что любая новая конструкция может выражать тот же набор строк, что и строковый литерал, интерпретировать те же escape-последовательности и обрабатываться так же, как строковый литерал.

JEP 370: Foreign-Memory Access API (инкубатор) – API-интерфейс, позволяющий программам Java безопасно и эффективно получать доступ к областям внешней памяти вне динамически распределяемой heap-памяти Java.

Пользователям и предприятиям, которым нужна коммерческая поддержка, Oracle также предлагает подписку Oracle Java SE Subscription. Это предложение позволяет получить лицензию Java SE и всестороннюю поддержку необходимых систем на требуемый период времени.

Источник: ko.com.ua

Комментарии


code Код: