Що очікувати у Java 18

Що очікувати у Java 18

ІТ

До Java 18 ще 5 місяців, але вона вже набуває форму. Наразі очікується шість пропозицій щодо функцій, остання – простий веб -сервер та нова інкубація іноземної функції та API зберігання.

На сторінці OpenJDK для Java Development Kit (JDK) 18 перерахований простий веб-сервер, запропонований як ціль для JDK 18, тоді як векторний API, фрагменти коду та набір символів UTF-8 офіційно орієнтовані на JDK 18 Індекс пропозицій Java Technologies наводить пропозицію щодо шаблонів записів та шаблонів масивів, передбачених для JDK 18, хоча вона поки що офіційно не орієнтована. Друга інкубація сторонніх функцій та API пам’яті, інкубованих у Java 17, також розглядається для Java 18.

Хоча JDK 17, який був випущений 14 вересня, був випуском довгострокової підтримки (LTS), який буде підтримуватися Oracle принаймні вісім років, JDK 18, який очікується в березні 2022 року, буде короткостроковим випуском функцій. підтримується протягом шести місяців. Ви можете знайти версії JDK 18 для раннього доступу для Linux, Windows та MacOS на java.net.

Специфіка пропозицій JDK 18 включає:

  • Проста пропозиція веб -сервера полягала б у наданні інструменту командного рядка для запуску мінімального веб -сервера, який обслуговує лише статичні файли. Немає доступних функцій CGI або сервлетів. Інструмент стане в нагоді для створення прототипів, спеціального кодування та тестування, особливо в освітніх контекстах. До цілей плану входить забезпечення нестандартного статичного файлового сервера HTTP з простим налаштуванням та мінімальними функціональними можливостями, зменшення енергії активації розробника та надання доступу до JDK, а також надання стандартної реалізації з командного рядка разом з невеликим API для програмного створення та налаштування. Надання повнофункціонального або комерційного сервера не є метою пропозиції.
  • Зовнішня функція та API зберігання даних, що запроваджує API, який дозволяє програмам Java працювати з кодом та даними поза середовищем виконання Java. Викликаючи зовнішні функції – код поза JVM – і безпечно отримуючи доступ до зовнішньої пам’яті – пам’яті, яка не управляється JVM – API дозволяє програмам Java викликати рідні бібліотеки та обробляти рідні дані без крихкості та небезпеки JNI (рідний інтерфейс Java) . Намір полягає в тому, щоб замінити JNI на чудову, чисту модель розробки Java. Для JDK 18 вдосконалення будуть інтегровані на основі зворотного зв’язку, наприклад Булеве та Адреса пам’яті у ручках доступу до пам’яті var та новому API для копіювання масивів Java до та з сегментів пам’яті.
  • Векторний API буде інкубуватися втретє в JDK 18, попередньо інкубуючись у JDK 16 та JDK 17 за допомогою скалярних обчислень. Векторні операції виражають ступінь паралелізації, що дозволяє виконувати більше роботи за один цикл процесора, що призводить до значного покращення продуктивності. Незалежний від платформи вектор API призначений для створення способу написання складних алгоритмів на Java за допомогою існуючого автовекторизатора HotSpot, але з моделлю користувача, що робить векторизацію більш передбачуваною. JDK 18 також додасть підтримку платформи ARM Scalar Vector Extension і покращить продуктивність векторних операцій, які приймають маски на архітектурах, що підтримують маскування в апаратних засобах.
  • Попередній перегляд шаблонів наборів даних та шаблонів масивів, у яких мова Java буде розширена, щоб включити шаблони наборів даних для деконструкції значень набору даних та масивпатентів для деконструкції значень масиву. Шаблони записів, шаблони масивів та шаблони типів, які були включені до JDK 16, можуть бути вкладеними, щоб значно покращити виразність та корисність відповідності шаблонів. Однією з цілей пропозиції є розширення відповідності шаблонів для вираження більш складних, складових запитів даних, а не зміна синтаксису чи семантики шаблонів типів.
  • Визначення UTF-8 як набору символів за умовчанням для стандартних API Java. UTF-8-це кодування змінних символів для електронного зв’язку і вважається стандартним набором символів мережі. Charset – це кодування символів, яке може кодувати всі символи в Інтернеті. З цією зміною API, які залежать від набору символів за замовчуванням, поводяться послідовно у всіх реалізаціях, операційних системах, локалях та конфігураціях. Пропозиція не спрямована на визначення нового стандарту Java або специфічних API JDK. Прихильники пропозиції очікують, що програми у багатьох середовищах не вплинуть на вибір UTF-8 від Java, оскільки MacOS, багато дистрибутивів Linux та багато серверних додатків уже підтримують UTF-8. Однак в інших середовищах існує ризик того, що програми, які покладаються на набір символів за замовчуванням, можуть поводитися неправильно під час обробки даних, які були створені без зазначення набору символів за замовчуванням. Пошкодження даних може залишитися непоміченим. Очікується, що основний вплив буде на користувачів систем Windows в азіатських регіонах і, можливо, на деяких серверних середовищах в азіатських та інших регіонах.
  • Фрагменти коду в документації до Java API, що містить а @snippet Тег для стандартного документа JavaDoc, щоб полегшити включення зразка вихідного коду до документації API. Одна з цілей плану – полегшити перевірку фрагментів вихідного коду, надавши доступ до цих фрагментів через API. Хоча коректність є обов’язком автора, покращена підтримка в JavaDoc та пов’язаних з нею інструментах може спростити її досягнення. Подальші цілі полягають у тому, щоб уможливити сучасний стиль, такий як виділення синтаксису, а також автоматичне зв’язування імен з оголошеннями та покращена підтримка IDE для створення та редагування фрагментів. У пропозиції зазначається, що автори документації API часто включають фрагменти вихідного коду в коментарі до документації.

Ще одна особливість, яка може бути націлена на JDK 18, – це узгодження шаблонів для виразів та операторів перемикання, яке попередньо переглядається у версії JDK 17.

Залишити відповідь