Привет, Java 17: что нового

Привет, Java 17: что нового

04.10.2021      30864

Oracle официально представила новую общедоступную версию Java 17. Три ключевых изменения: использование только строгой семантики чисел с плавающей точкой, единый API (прикладной программный интерфейс) для генераторов псевдослучайных чисел и отдельный API сторонних функций и памяти.

В Java 17 включили четырнадцать 14 JEP (предложений по улучшению). Разработчики закрыли свыше 2,7 тыс. задач и серьезно обновили API.

Всегда строгая семантика

В JEP 306 восстановили всегда строгую семантику чисел с плавающей точкой. Напомним, до Java 1.2 по умолчанию использовалась нестрогая семантика. Теперь же на всех платформах выражения с плавающей точкой вычисляются строго, а значит, можно не использовать ключевое слово strictfp – если оно будет обнаружено в коде, система выдаст предупреждение.

Это нововведение должно упростить разработку библиотек, которые чувствительны к числовым значениям. От введения всегда строгой семантики точно выиграют Java.lang.Math и java.lang.StrictMath и другие подобные решения.

API сторонних функций и памяти

В рамках JEP 412 создали Foreign Function & Memory API. Это продвинутая версия нативного интерфейса JNI, в которой по умолчанию запрещены потенциально небезопасные операции. Это повысит стабильность кода и производительность его выполнения.

С новым API можно также по-разному взаимодействовать с памятью вне кучи. А в будущем – задействовать внешние функции не только на С, но и на других языках.

Но JNI по-прежнему доступен. Если ваше приложение использует его, переход на Java 17 не будет критичным.

Изменения в фильтрах

В Java 9 появились фильтры для контроля десериализации данных. В 17 версии их сделали более гибкими – в JEP 415 внедрили фабрику фильтров.

Вы можете не указывать конкретный фильтр для каждого объекта ObjectInputStream и не запускать глобальный статический фильтр для всей виртуальной машины. Достаточно указать статическую фабрику, например, через метод ObjectInputFilter.Config::setSerialFilterFactory или аргументы командной строки. Она автоматически будет возвращать нужный фильтр в зависимости от контекста.

Фильтры нужны для проверки входящих потоков данных, которые поступали со стороны библиотеки и кода приложения. Так как можно удалить потенциально вредоносный код прямо в процессе десериализации, безопасность разработки повысится.

API для генераторов псевдослучайных чисел

В JEP 356 добавили пакет java.util.random с новыми интерфейсами и свежей реализацией генераторов псевдослучайных чисел. В этой иерархии RandomGenerator является родителем для свежих генераторов SplittableRandomGenerator, JumpableRandomGenerator, LeapableRandomGenerator, ArbitrarilyJumpableRandomGenerator, а также ранее использованных инструментов – Random, ThreadLocalRandom и SplittableRandom.

Механизм ServiceLoader позволяет использовать собственные или сторонние реализации генераторов. Это актуально для финансовых и беттинг-приложений, а также других разработок со сложной криптографией.

Новый рендер-конвейер

С JEP 382 разработчики перешли от OpenGL на Apple Metal API.

Обновленный рендер-конвейер соответствует модели существующего двумерного аналога. Он пока включен по умолчанию, но можно активировать и новую версию ключом -Dsun.java2d.metal=true. Если же OpenGL не работает, то используется Apple Metal.

Здесь же отметим, что разработчики сделали специальный порт под архитектуру macOS/AArch64. Для процессоров Apple M1 уже выложены дистрибутивы открытого OpenJDK и проприетарного Oracle JDK.

Строгая инкапсуляция внутренних API

В Java 9 показали инкапсуляцию внутренних прикладных интерфейсов, но до 16 версии включительно она была выключена по умолчанию. Теперь, с внедрением JEP 403, ее нельзя включить единственной командой --illegal-access=permit Main.

Чтобы иметь доступ к внутренним компонентам JDK, необходимо явно перечислить все нужные пакеты в опциях --add-opens или --add-exports. Но критического API в модуле jdk.unsupported эти изменения не касаются: все классы в пакетах sun.misc и sun.reflect по-прежнему доступны по умолчанию.

Java 17 – LTS-версия с расширенной поддержкой

Java 17 – стабильная версия с LTS (Long-Term Support) поддержкой: ожидается, что она продлится до сентября 2026 года. Предыдущая LTS-версия JDK 11 была выпущена три года назад.

Релиз Java 17 в традиционном формате OpenJDK выпускается со свободной лицензией GNU General Public License v2. Для тех, кто использует Java как часть продукта либо сервиса Oracle или же хочет получить платную поддержку, есть коммерческая лицензия.


Источник: https://infostart.ru/journal/news/tekhnologii/privet-java-17-chto-novogo_1527678/
Автор:
Обозреватель


В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

«Сбер» начнет использовать российские TLS-сертификаты для платежного шлюза

Новость Безопасность ИТ-новость Минцифры

Банк запланировал переход на сертификаты, выпущенные Национальным удостоверяющим центром (НУЦ) Минцифры, на 30 января 2023 года. Клиентам необходимо добавить на свои серверы корневой сертификат ведомства.

сегодня в 09:45    738    VKuser24342747    0       

Минцифры подготовило правила отказа от передачи биометрических данных

Новость ИТ-новость Минцифры

Гражданин имеет право отказаться от сбора и распространения своих биометрических данных. Отказ можно оформить в МФЦ только при личном присутствии.

24.01.2023    976    VKuser24342747    0       

Банки смогут получить право на передоверие полномочий по электронной подписи

Новость ИТ-новость Цифровая подпись Цифровая экономика

Комитет Госдумы рекомендует принять соответствующий законопроект. Документ позволит компаниям финансового сектора использовать электронную подпись наравне с другими организациями.

20.01.2023    864    VKuser24342747    0       

«ВКонтакте» начал поддерживать получение уведомлений от Госуслуг

Новость Госуслуги ИТ-новость Мессенджеры Налоги

Оповещения с Единого портала госуслуг будут отображаться в Вконтакте и приложении «VK Мессенджер». Кроме того, стала доступна оплата штрафов ГИБДД прямо в VK.

19.01.2023    976    VKuser24342747    0       

Минцифры подготовило правила аккредитации госорганов на владение информсистемами для биометрии

Новость Законодательство ИТ-новость Минцифры

Проект постановления содержит требования к Цетробанку и госорганам, а также к сторонним организациям, которые будут привлекаться ведомствами в качестве операторов. Требования согласованы с ФСБ.

19.01.2023    889    VKuser24342747    0       

Утвержден профстандарт специалиста по информационной безопасности

Новость Безопасность ИТ-новость

Новый профстандарт вступит в силу 1 сентября 2023 года. А пока у работодателей в кредитно-финансовой сфере есть время проанализировать трудовой функционал специалистов по ИБ и при необходимости уточнить его.

17.01.2023    1539    user1816563    0       

Национальная система пространственных данных начала работу в России

Новость ИТ-новость Цифровая экономика

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

12.01.2023    1741    VKuser24342747    0       

Госдума рассмотрит законопроект о цифровом рубле

Новость Законодательство ИТ-новость Цифровая экономика

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

11.01.2023    3489    VKuser24342747    2       

Оператором Единой биометрической системы стал «Центр Биометрических Технологий»

Новость ИТ-новость

Ранее за работу платформы отвечал «Ростелеком». На «Центр Биометрических Технологий» возложены задачи по развитию в России цифровых технологий идентификации и аутентификации, в том числе на основе биометрических персональных данных.

22.12.2022    2409    VKuser24342747    2       

GitHub бесплатно проверит репозитории на наличие секретных токенов

Новость GitHub Безопасность ИТ-новость

ИТ-хостинг запустил систему сканирования общедоступных репозиториев, чтобы предотвратить случайное раскрытие конфиденциальной информации, такой как учетные данные и токены аутентификации.

22.12.2022    1757    VKuser24342747    1       

GitHub к концу 2023 года введет обязательную двухфакторную аутентификацию

Новость GitHub Безопасность ИТ-новость

Веб-хостинг потребует от всех пользователей, загружающих код, включить двухфакторную аутентификацию (2FA) для дополнительной защиты своих аккаунтов.

21.12.2022    2048    VKuser24342747    0       

Госдума рассмотрит законопроект о провайдере для госсайтов

Новость Государственные, бюджетные структуры Законодательство ИТ-новость

Документ предусматривает запрет на размещение государственных информационных ресурсов на хостингах, не включенных в специальный реестр. Сейчас около 20% ресурсов госорганов размещены на иностранных площадках.

20.12.2022    1666    VKuser24342747    1       

«Яндекс» открыл доступ к фреймворку Yatagan для сборки Android-приложений

Новость ИТ-новость Яндекс Разработка

Инструмент свободно распространяется через GitHub. Перед публикацией в открытом доступе фреймворк долгое время применялся во внутренних проектах компании. Решение основано на API Dagger.

16.12.2022    2474    VKuser24342747    1       

В России появится национальная издательская система вместо иностранных аналогов

Новость Импортозамещение ИТ-новость

Программный комплекс будет создан на базе существующего отечественного решения Axiocat. Сейчас это приложение не внесено в Единый реестр российского ПО, хотя применяется некоторыми компаниями.

15.12.2022    1706    VKuser24342747    0       

Google рассказала о проблемах и преимуществах поддержки разработки на Rust в Android 13

Новость Google ИТ-новость Языки программирования

По итогам внедрения поддержки разработки на Rust снизилось число уязвимостей, связанных с управлением памятью. Инженеры считают, что основное внимание нужно уделить написанию нового кода, а не переписыванию старого.

14.12.2022    1791    VKuser24342747    0       

Банки обяжут принимать оплату по картам «Мир» с QR-кодом в смартфоне

Новость Банки ИТ-новость

Оператор платежной системы «Мир» разослал российским банкам документ с требованием обеспечить прием платежей по новой технологии. Первый этап внедрения завершится в апреле 2023 года.

14.12.2022    1993    VKuser24342747    1       

Госдума рассмотрит законопроект о создании Национального удостоверяющего центра

Новость Законодательство Интернет ИТ-новость

Информационная система позволит российским сайтам получать сертификаты безопасности без участия иностранных организаций. Для их выдачи будет применяться отечественная криптография.

09.12.2022    1836    VKuser24342747    0       

Госдума планирует отложить срок обязательного перехода на машиночитаемые доверенности

Новость Законодательство ИТ-новость

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

08.12.2022    1919    VKuser24342747    0       

GitHub опубликовал статистику по языкам и проектам за 2022 год

Новость ИТ-новость Языки программирования Разработка

В статистическом отчете репозитория названы самые популярные языки программирования среди пользователей платформы, а также данные об активности аудитории сервиса.

01.12.2022    2296    VKuser24342747    11       

Инспекторы смогут проводить дистанционные проверки через смартфон

Новость ИТ-новость Мобильные приложения

Минэкономразвития представило мобильное приложение, которое позволит осуществлять надзорные мероприятия бизнеса без посещения офиса. Программа работает через Госуслуги.

28.11.2022    2271    VKuser24342747    0       

«Яндекс» представил бесплатный сервис для быстрого поиска в облаке

Новость ИТ-новость Облачные технологии

Сервис Managed Service for OpenSearch от платформы Yandex Cloud предназначен для оптимизации поисковых систем и проверки стабильности и безопасности работы приложений. Услуга доступа в режиме Public Preview.

24.11.2022    3016    VKuser24342747    1       

В декабре начнут действовать новые правила регистрации доменов .RU и .РФ

Новость ИТ-новость Роскомнадзор

С 12 декабря Роскомнадзор получит право прекращать делегирование домена, если он оформлен нелегально, или на сайте содержится запрещенная в России информация.

23.11.2022    2209    VKuser24342747    1       

Stack Overflow запустил проект для оффлайн-доступа к форуму

Новость ИТ-новость Разработка

Проект под названием Overflow Offline позволяет скачать актуальную версию архива вопросов и ответов по разработке ПО. По объему данных база форума уступает только «Википедии».

02.11.2022    2060    VKuser24342747    1       

Минцифры запустило магазин российского ПО из реестра ИТ-решений

Новость Импортозамещение ИТ-новость

Маркетплейс «Руссофт» стал доступен для всех пользователей. С его помощью можно подобрать программы от отечественных разработчиков для решения корпоративных задач бизнеса.

21.10.2022    2463    VKuser24342747    4       

В ноябре начнется создание российского государственного аналога GitHub

Новость ИТ-новость

Правительство озвучило дату запуска эксперимента по разработке отечественного репозитория ПО. Исходники программ, в том числе разработанных для госорганов, будут публиковаться в нем под открытой лицензией.

19.10.2022    3356    VKuser24342747    14