Java 18: Какие новые функции ждут пользователей

Языки программирования отвечают за качество функционирования программ и самым популярным из них являются инструменты Java. Последним из них была версия Java 17.

В сегодняшней статье мы обсудим главные функции Java 18, которая должна выйти в марте 2022 года, продолжает обретать форму. Последние предложения функций включают интерфейс поставщика услуг (SPI) для разрешения адресов Интернета и второй предварительный просмотр сопоставления с образцом для операторов switch.

Нововведения Java 18

Вторая инкубация посторонней возможности и API памяти, которая была инкубирована в предыдущую версию Java, также рассчитана на Java 18. Предложение по шаблонам записи и разных массивов, обновленное 20 октября и ранее ожидавшееся в JDK 18, в настоящее время официально не объявлено, хотя теоретически может стать частью релиза.

В то время как 17 версия программы была выпуском с долгосрочным вариантом поддержки (LTS), который получит поддержку Oracle не менее восьми лет, JDK 18 будет краткосрочным выпуском функций, который поддерживается до шести месяцев. Варианты Java 18 для предварительного доступа можно рассмотреть для таких систем как Linux, Windows, а также и MacOS на официальном сайте Java.

Особенности предложений версии 18 включают:

  • Для SPI разрешения Интернет-адресов предлагается определить SPI для разрешения хостов и имен, чтобы Inet.Address мог использовать преобразователи, отличные от встроенного преобразователя платформы. Мотивы для этих усилий включают лучшее включение Project Loom для параллелизма и новых моделей программирования на Java, а также интеграцию новых сетевых протоколов, настройку и возможность тестирования.
  • Второй предварительный просмотр сравнения с образцом для switch, в котором язык Java будет улучшен в сравнении с вариантом для различных выражений и использования операторами switch, а также с расширениями языка образцов. Расширение функции сопоставления с учетом образца для переключения позволяет проверять выражение на соответствие ряду шаблонов, каждый с определенным действием, поэтому сложные запросы, которые фокусируются на данных, могут быть выражены в краткой форме и безопасно.
  • Повторная реализация отражения ядра с помощью дескрипторов методов будет служить для переопределения lang.reflect.Method, Constructor и Field поверх дескрипторов методов java.lang.invoke. Использование дескрипторов методов как базовый механизм для отражения снизит затраты на обслуживание и разработку API-интерфейсов java.lang.reflect, а также java.lang.invoke.
  • С помощью простого предложения веб-сервера будет предоставлен такой инструмент как командная строка для запуска минимального веб-сервера, обслуживающего только статические файлы. Инструмент будет полезен для работы над созданием прототипов, специального программирования и тестирования, особенно в образовательных контекстах.

Java 18: Какие новые функции ждут пользователей

Указание UTF-8 в роли кодировки по умолчанию для обычных функций API Java

UTF-8 — это кодировка символов для электронных сообщений, которая считается стандартной кодировкой в Интернете. Charset — это кодировка символов, способная кодировать все символы в Интернете. Благодаря этому изменению API-интерфейсы, зависящие от кодировки по умолчанию, будут вести себя одинаково во всех реализациях, операционных системах, регионах и конфигурациях. Предложение не предназначено для определения новых API-интерфейсов стандарта Java или JDK.

Сторонники предложения ожидают, что приложения во многих средах не увидят никакого влияния от выбора Java UTF-8, поскольку MacOS, многие дистрибутивы Linux и многие серверные приложения уже поддерживают UTF-8. Однако, существует риск в других средах, наиболее очевидным из которых является то, что приложения, зависящие от кодировки по умолчанию, будут вести себя некорректно при обработке данных, созданных, когда кодировка по умолчанию не была указана. Повреждение данных может произойти незаметно. Ожидается, что основное влияние будет оказано на пользователей систем Windows в азиатских регионах и, возможно, некоторых серверных сред в азиатских и других регионах.

Курсы программирования и блог DevEducation помогут узнать вам об этой сфере больше.