Goodnews.ua


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

Март 20
07:32 2020

Корпорация 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

Share

Статьи по теме







0 Комментариев

Хотите быть первым?

Еще никто не комментировал данный материал.

Написать комментарий

Комментировать

Залишаючи свій коментар, пам'ятайте, що зміст та тональність вашого повідомлення можуть зачіпати почуття реальних людей, що безпосередньо чи опосередковано пов'язані із цією новиною. Виявляйте повагу та толерантність до своїх співрозмовників. Користувачі, які систематично порушують це правило, будуть заблоковані.

Website Protected by Spam Master


Останні новини

Клубы АПЛ могут перехватить у Реала защитника Лейпцига

Читать всю статью

Ми у соцмережах




Наші партнёри

UA.TODAY - Украина Сегодня UA.TODAY
Goodnews.ua