Випущено Java SE 24. Дізнайтеся про її нові функції, покращення тощо.

Платформа Java, стандартна версія

Після півроку розробки, Oracle оголосила про випуск Java SE 24, заснований на проекті OpenJDK з відкритим вихідним кодом, зберігаючи зворотну сумісність, щоб більшість раніше розроблених проектів продовжували працювати без змін.

На відміну від випусків довгострокової підтримки (LTS), Java SE 24 є регулярною версією підтримки, що передбачає оновлення до наступного випуску. Для тих, кому потрібна довгострокова стабільність, Java SE 21 і Java SE 17 підтримуватимуться до 2031 і 2029 років відповідно. Крім того, розширена підтримка Java SE 8 LTS триватиме до 2030 року, тоді як Java SE 11 залишатиметься в силі до 2032 року.

Покращення та нові функції

У цій новій версії Java SE 24, один із найважливіші вдосконалення є введення Експериментальний генеративний режим для збирача сміття Шенандоа (призначений для окремої обробки нових і старих об'єктів). Цей новий режим покращує ефективність під час очищення короткочасних об’єктів, оптимізує використання пам’яті та забезпечує більш стабільну роботу за різних навантажень.

Ще однією новинкою, яка виділяється, є Експериментальна підтримка компактних заголовків об’єктів у HotSpot JVM, зменшивши його розмір із 96 до 64 біт у 64-бітних системах. Ця оптимізація допомагає зменшити розмір купи та підвищити ефективність кешу пам’яті.

Сміттєзбірник G1 також було оптимізовано за допомогою редизайну бар'єрів, які контролюють доступ програм до пам'яті. Розширення бар’єру тепер виконується пізніше в процесі компіляції в рамках компілятора C2 JIT, зменшуючи його накладні витрати до 20%, залежно від типу програми.

Покращення безпеки та шифрування

Java SE 24 представляє API для виведення криптографічних ключів (KDF), можливість створення додаткових ключів із секретного ключа та довільного набору даних. Цей API, який все ще знаходиться на етапі попередньої версії, посилює безпеку керування ключами на платформі.

Крім того, Додано попередження про використання API Рідний інтерфейс Java та зовнішні функції та пам’ять, щоб підготуватися до майбутньої реалізації режиму цілісності, який обмежуватиме доступ за умовчанням до рідного коду. Також увімкнено попередження під час використання методів доступу до зовнішньої пам’яті через клас sun.misc.Unsafe, що рекомендує міграцію до VarHandle API.

З іншого боку, в Java SE 24 підтримка криптографічних алгоритмів ML-KEM і ML-DSA (розроблений, щоб бути стійкість до атак квантових обчислень). Ці алгоритми засновані на проблемах теорії мереж, гарантуючи, що час вирішення еквівалентний як на звичайних, так і на квантових комп’ютерах.

Менеджер безпеки Java, який був застарілим після зникнення підтримки плагінів браузера, остаточно видалено.

Оптимізації

JVM HotSpot тепер дозволяє завчасно завантажувати та зв’язувати класи, що значно прискорює запуск програми. Під час першого запуску стан класів кешується, щоб полегшити завантаження під час майбутніх запусків.

Крім того, Впровадження Scoped Values ​​було покращено, який зараз сдозволяє обмінюватися незмінними даними між потоками ефективніше, замінюючи традиційний механізм локальних змінних потоків. Це особливо корисно при одночасній роботі з мільйонами віртуальних потоків.

Ще одна новинка - це оптимізація віртуальних потоків у заблокованих станах. У цьому випуску заблокований віртуальний потік звільняє потік своєї платформи, дозволяючи його повторно використовувати іншими потоками, покращуючи масштабованість у системах із високим використанням багатопоточності.

З інші зміни, які виділяються:

  • Нове розширення Stream API, що дозволяє визначати спеціальні проміжні операції.
  • Механізми зіставлення шаблонів були вдосконалені для підтримки примітивних типів (int, byte, char тощо) у виразах switch і операторі instanceof.
  • Додано четверту попередню версію Structured Concurrency API, яка спрощує розробку багатопоточних програм, обробляючи завдання в різних потоках як єдиний блок виконання.
  • Було введено простіший спосіб оголошення класів і визначення методу main(), що усуває потребу визначати публічний клас зі статичними методами.
  • Було додано API файлів класів, що дозволяє легше та програмно аналізувати, генерувати та перетворювати файли класів Java.

Нарешті, якщо ви зацікавлені в тому, щоб дізнатися більше про це, ви можете ознайомитися з деталями в наступне посилання.

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

Тим, хто зацікавлений у встановленні нової версії Java SE 24, слід знати, що компіляції (JDK, JRE та Server JRE) уже готові для Linux, Windows і macOS.