Пакет Java Development Kit (JDK) 23 вже розпочав роботу над JDK 24 із функціями, запропонованими для випуску. Зокрема, попередженнями, щоб підготувати розробників до майбутніх обмежень на використання JNI (власного інтерфейсу Java) і запізнілим розширенням бар’єру для збирача сміття G1.
Можна включити й безліч інших функцій, у тому числі багато з них у попередній версії JDK 23, повідомляє InfoWorld.
До 18 березня 2025 року JDK 24 позначено як випуск нетривалої підтримки (LTS). Як і щойно випущений JDK 23, JDK 24 отримає лише 6 місяців підтримки рівня Premier від Oracle.
Перша цільова функція JDK 24 під назвою «Підготовка до обмеження використання JNI» вимагає видавати попередження про використання JNI та налаштовувати API сторонніх функцій і пам’яті (FFM), представлений у JDK 22, щоб видавати попередження послідовним способом. Ці попередження призначені для підготовки до майбутнього випуску, який забезпечує цілісність за замовчуванням шляхом рівномірного обмеження JNI та API FFM.
Цілі плану включають збереження JNI як стандартного способу взаємодії з нативним кодом, підготовку екосистеми Java до майбутніх випусків, які за замовчуванням забороняють взаємодію з нативним кодом, а також узгодження використання JNI та FFM API, щоб супроводжувачі бібліотек могли переходити з однієї до іншої, не вимагаючи від розробників змінювати параметри командного рядка.
Друга функція «Пізнє розширення бар’єрів для збирача сміття G1» призначена для спрощення впровадження бар’єрів G1. Бар’єри збирача сміття G1 записують інформацію про доступи до пам’яті програми, переміщуючи їх розширення з раннього етапу конвеєра компіляції C2 на пізніший.
Цілі включають скорочення часу виконання компіляції C2 при використанні збирача G1, створення бар’єрів G1 зрозумілими для розробників HotSpot, які не мають глибокого розуміння C2, і гарантування того, що C2 зберігає інваріанти відносного порядку доступу до пам’яті, точок безпеки та бар’єрів.
Четвертою особливістю є збереження якості скомпільованого коду JIT, згенерованого C2, з точки зору швидкості та розміру.
Третя функція «API файлів класів», попередньо представлена в JDK 22 і JDK 23, буде завершена в JDK 24 із незначними змінами. Цей API надає стандартний API для аналізу, генерації та перетворення файлів класів Java. Він спрямований на надання API для обробки файлів класів, який відстежує формат файлу класу, визначений специфікацією віртуальної машини Java.
Друга мета — дозволити компонентам JDK перейти на стандартний API і, зрештою, видалити внутрішню копію JDK сторонньої бібліотеки ASM.
Зміни після другого попереднього перегляду включають перейменування значень enum, видалення деяких полів, додавання методів і перевантаження методів, перейменування методів і видалення інтерфейсів і методів, які вважаються непотрібними.
Додаткові функції, націлені на JDK 24, будуть визначені протягом наступних кількох місяців.
Потенційні функції Java 24 включають подальші попередні перегляди або остаточні випуски функцій, які попередньо переглядаються у JDK 23. До них входять збирачі потоків для вдосконалення потокового API для спеціальних проміжних операцій; оголошення імпорту модуля для стислого імпорту всіх пакетів, експортованих модулем, і спрощення повторного використання модульних бібліотек; структурований паралелізм, щоб спростити паралельне програмування; обмежені значення для спільного використання незмінних даних.
Іншою функцією попереднього перегляду в JDK 23 і претендентом на JDK 24 є примітивні типи в шаблонах instanceof і switch, які мають на меті покращити відповідність шаблонів, дозволяючи шаблони примітивних типів у всіх контекстах шаблонів, а також розширити instanceof і перейти для роботи зі всіма примітивними типами.
Іншою можливою функцією JDK 24 є векторний API, який зараз перебуває на восьмому етапі інкубації в JDK 23. Векторний API призначений для вираження векторних обчислень, які надійно виражають під час виконання оптимальні векторні інструкції на підтримуваних архітектурах ЦП.
Завчасне завантаження класів (функція, призначена для прискорення запуску Java) і шаблони рядків (функція, яка була попередньо переглянута в JDK 21 і JDK 22, але виключена із JDK 23) також можуть бути спрямовані на JDK 24.
Найновіший випуск LTS, JDK 21, надійшов у вересні 2023 року, і Oracle має отримати принаймні 5 років підтримки Premier. Наступна версія LTS, JDK 25, має вийти у вересні наступного року.
Випуски LTS переважають у прийнятті Java. Це означає, що впровадження JDK 23 і JDK 24 може бути на низькому рівні, оскільки користувачі чекають JDK 25.
Читайте також на ProIT: JavaScript, Python і Java залишаються лідерами в рейтингах мов програмування.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!