Java Development Kit (JDK) 21, который должен выйти в сентябре в качестве следующего выпуска с долгосрочной поддержкой стандартной реализации Java от Oracle, начинает обретать форму, с упорядоченными коллекциями, строковыми шаблонами и виртуальными потоками, запланированными к выпуску на данный момент.

Виртуальные потоки — это значительное улучшение параллелизма в Java что было добавлено к страница JDK 21 на openjdk.org в конце прошлой недели. Хотя Страница выпуска JDK 21 по-прежнему перечислены только две официальные функции, секвенированные коллекции и виртуальные потоки, строковые шаблоны также предназначены для JDK 21, согласно его Предложение по улучшению Java на openjdk.org.

Конкретные предложения включают:

  • Виртуальные потоки — это облегченные потоки, которые обещают «значительно» сократить усилия по написанию, поддержке и наблюдению за параллельными приложениями с высокой пропускной способностью. Цели плана включают в себя обеспечение масштабирования серверных приложений, написанных в простом стиле «поток на запрос», с почти оптимальным использованием оборудования, позволяя существующему коду, использующему lang.Thread API для внедрения виртуальных потоков с минимальными изменениями и позволяет легко отлаживать и профилировать виртуальные потоки с помощью текущих инструментов JDK. Предварительный просмотр в обоих JDK 20 и СДК 19виртуальные потоки будут завершены в JDK 21. В JDK 21 виртуальные потоки теперь поддерживаются локальные переменные потока все время и сделать невозможным создание виртуальных потоков, не имеющих этих переменных. Гарантированная поддержка локальных переменных потока гарантирует, что большее количество существующих библиотек можно использовать без изменений с виртуальными потоками, и помогает при переносе ориентированного на задачи кода для использования виртуальных потоков.
  • Последовательные коллекции вводит интерфейсы для представления коллекций с определенным порядком встречи. Каждая коллекция имеет четко определенные первый и второй элементы и так далее до последнего элемента. Унифицированные API предназначены для приема первых и последних элементов и обработки элементов в обратном порядке. Мотивация предложения — это ситуация, в которой Java рамки коллекций отсутствует тип коллекции для представления последовательности элементов с определенным порядком встречи. В нем также отсутствует единый набор операций, применяемых к этим коллекциям. Эти пробелы были проблемой и источником жалоб. В предложении содержится призыв к определению интерфейсов для упорядочивания коллекций, наборов и карт и их дооснащению существующей иерархией типов коллекций. Все эти новые методы имеют реализации по умолчанию.
  • Строковые шаблоныпоявиться как функция предварительного просмотра, дополняют существующие строковые литералы и текстовые блоки Java, связывая литеральный текст со встроенными выражениями и процессорами для получения специализированных результатов. Эта языковая функция и API предназначены для упрощения написания программ Java, упрощая выражение строк, содержащих значения, вычисляемые во время выполнения. Он обещает улучшить читаемость выражений, повысить безопасность программы, сохранить гибкость и упростить использование API, которые принимают строки, написанные на языках, отличных от Java. Целью также является обеспечение возможности разработки нестроковых выражений, полученных путем комбинирования буквенного текста и встроенных выражений.

В качестве выпуска с долгосрочной поддержкой (LTS) JDK 21 получит пять лет поддержки. Премьер-поддержка и расширенная поддержка до сентября 2031 года. Текущая версия LTS СДК 17опубликованный в сентябре 2021 года. Выпуски, отличные от LTS, такие как Выпуск JDK 20 который прибыл 21 марта, а предыдущий СДК 19 выпуска, получите только шесть месяцев поддержки уровня Premier и не получите расширенной поддержки.

Новые версии стандартной реализации Java от Oracle появляются каждые шесть месяцев. Другие возможные функции для JDK 21 включают все функции инкубации и предварительного просмотра в JDK 20, такие как значения области, записывать шаблоныи сопоставление с образцом для операторов switch. Универсальные дженерики, сборщик мусора поколения Zи API виртуальной машины с асинхронной трассировкой стека тоже можно было бы включить.

Авторское право © 2023 IDG Communications, Inc.

Исходная ссылка



Source link