Нова версія Java SE 18 вже випущена, і це її новини

Після півроку розробки, Oracle випустив випуск нова версія JavaSE 18 (Стандартне видання), який використовує проект OpenJDK з відкритим кодом як довідкову реалізацію.

У цій новій версії Java SE 18 поставляється за винятком видалення деяких застарілих функцій, підтримує сумісність з попередніми версіями платформи Java та більшістю раніше написаних проектів Java продовжуватимуть працювати без змін при запуску з новою версією.

Основні нові функції Java SE 18

У цьому новому випуску Java SE 18 кодуванням за замовчуванням є UTF-8. API Java, які обробляють текстові дані із символьним кодуванням тепер використовуватиме UTF-8 за замовчуванням на всіх платформах, незалежно від налаштувань системи та регіональних налаштувань. Щоб повернути стару поведінку, де кодування вибирається з урахуванням мовного стандарту системи, можна використовувати параметр «-Dfile.encoding=COMPAT».

Ще одна з змін, яка виділяється, – це він перероблено реалізацію API java.lang.reflect (Core Reflection), призначений для отримання інформації про методи, поля та конструктори класів, а також доступу до внутрішньої структури класів. API java.lang.reflect сам по собі не змінився, але тепер реалізований за допомогою ідентифікаторів методів, передбачених модулем java.lang.invoke замість використання генераторів байт-коду. Зміна дозволила уніфікувати та полегшити обслуговування реалізацій java.lang.reflect і java.lang.invoke.

На додаток до цього також згадується, що пропонується третя попередня реалізація Vector API, який надає функції для векторних обчислень, які виконуються за допомогою векторних інструкцій процесорів x86_64 і AArch64 і дозволяють застосовувати операції одночасно до кількох значень (SIMD). На відміну від можливостей, передбачених компілятором HotSpot JIT для автоматичної векторизації скалярних операцій, новий API дозволяє чітко керувати векторизацією для паралельної обробки даних.

Також підкреслюється, що додано інтерфейс SPI (інтерфейс постачальника послуг) дозволяти імена хостів та IP-адреси, що дозволяє використовувати альтернативні резольвери в java.net.InetAddress, які не прив’язані до драйверів, наданих операційною системою.

З іншого боку, це було запропоновано друга попередня реалізація Foreign Function & Memory API, за допомогою якого програми можуть взаємодіяти з кодом і даними за межами середовища виконання Java. Новий API дозволяє ефективно викликати функції, відмінні від JVM y доступ до пам'яті яким не керує JVM. Наприклад, ви можете викликати функції із зовнішніх спільних бібліотек і отримати доступ до даних процесу без використання JNI.

Додано a друга експериментальна реалізація відповідності шаблону у виразах перемикач, що дозволяє використовувати гнучкі шаблони замість точних значень у тегах «case», охоплюючи відразу кілька значень, що раніше вимагало громіздких рядків виразів «if...else».

Пакет включений com.sun.net.httpserver, який включає утиліту jwebserver та API бібліотеки з реалізацією із простого http-сервера для обслуговування статичного вмісту (контролери CGI і сервлетів не підтримуються). Вбудований http-сервер не оптимізований для робочих навантажень і не підтримує контроль доступу чи аутентифікацію, оскільки в першу чергу призначений для використання в процесі розробки прототипів, налагодження та тестування проектів.

З інших змін що виділяються:

  • JavaDoc підтримує тег "@фрагмент» щоб вставити робочі приклади та фрагменти коду в документацію API, доступ до якої можна отримати за допомогою інструментів перевірки, підсвічування синтаксису та інтеграції IDE.
  • Не підтримується та буде видалено в майбутньому випуску, механізм завершення, а також пов’язані методи, такі як Object.finalize(), Enum.finalize(), Runtime.runFinalization() і System.runFinalization().
  • збирачі сміття ZGC (Z Garbage Collector), SerialGC і ParallelGC вони підтримують дедуплікацію рядків.

JavaSE 18 класифікується як звичайна версія підтримки, з оновленнями, які будуть випущені до наступної версії. Гілкою довгострокової підтримки (LTS) має бути Java SE 17, яка буде отримувати оновлення до 2029 року.

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

Завантажте Java SE 18

Для тих, хто зацікавлений у можливості протестувати цей новий випуск, знайте, що збірки готові для Linux (x86_64, AArch64), Windows (x86_64) і macOS (x86_64, AArch64) і їх можна отримати за посиланням нижче.


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований.

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.