Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Выпуск Java SE 27 и OpenJDK 27

17.09.2026 09:08 (MSK)

После шести месяцев разработки компания Oracle опубликовала платформу Java SE 27 (Java Platform, Standard Edition 27), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 27 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 27 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java SE 27 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 27 отнесён к категории выпусков с обычным сроком поддержки, обновления для которого будут выпускаться до следующего релиза. В качестве ветки с длительным сроком поддержки (LTS) следует использовать Java SE 25, Java SE 21 или Java SE 17, обновления для которых будут выпускаться до 2033, 2031 и 2029 годов соответственно (общедоступные - до сентября 2030, 2028 и 2026 годов). Расширенная поддержка LTS-ветки Java SE 8 продлится до 2030 года, а Java SE 11 - до 2032 года.

Среди изменений в Java SE 27 (1, 2, 3, 4):

  • По умолчанию для всех окружений задействован сборщик мусора G1 (Garbage-First), который ранее применялся для серверных систем. G1 оптимизирован для использования на многопроцессорных системах с большим объёмом памяти и балансирования между предсказуемостью задержек и высокой пропускной способностью. В процессе работы G1 разделяет память на множество мелких регионов и в первую очередь очищает те регионы, где больше неиспользуемых объектов и меньше активно используемых данных.
  • В HotSpot JVM по умолчанию задействованы компактные заголовки объектов. Размер заголовков на 64-разрядных системах уменьшен с 96 до 64 бит, что сократило потребление памяти и повысило вероятность попадания данных в процессорный кэш. В тестах SPECjbb2015 потребление памяти снизилось на 22%, нагрузка на CPU уменьшилась на 8%, а число операций сборки мусора снизилось на 15%. При тестировании парсера JSON время прохождения тестов сократилось на 10%.
  • В реализацию TLS 1.3 добавлена поддержка гибридных схем согласования ключей, комбинирующий алгоритм ML-KEM (CRYSTALS-Kyber), устойчивый для подбора на квантовых компьютерах, с классическими алгоритмами на базе эллиптических кривых ECDHE: X25519MLKEM768 (ECDHE с кривой X25519 + ML-KEM-768), SecP256r1MLKEM76 (ECDHE с кривой secp256r1 + ML-KEM-768) и SecP384r1MLKEM1024 (ECDHE с кривой secp384r1 + ML-KEM-1024). В API javax.net.ssl данные схемы включены по умолчанию и для применения не требуют изменения приложений.
  • В инструментарий JDK Flight Recorder (JFR), применяемый для мониторинга, профилирования и диагностики производительности, добавлена поддержка очистки в сохраняемой диагностической информации аргументов командной строки, начальных значений переменных окружения и системных свойств. Изменение позволяет предотвратить утечку конфиденциальных данных, которые обрабатывает профилируемый процесс, таких как передаваемые через переменные окружения токены авторизации и ключи доступа к API.
  • Реализована третья предварительная редакция API Lazy Constants для работы с объектами, содержащими неизменяемые данные и обрабатываемыми в JVM как константы. К подобным объектам применяются оптимизации производительности, аналогичные полям с ключевым словом "final". В отличие от "final" новый API разделяет создание постоянных значений и их инициализацию, гарантирует, что значение может быть инициализировано только один раз, сокращает время запуска программ и позволяет применять в пользовательском коде оптимизации сворачивания констант (constant-folding), ранее использовавшиеся только во внутреннем коде JDK.
    
       class Application {
           // Было:
           // static final UserService USERS = new UserService();
           // Теперь можно:
           static final StableValue<UserService> USERS = StableValue.of();
    
           public static UserService users() {
              return USERS.orElseSet(UserService::new);
           }
        }
    
    
  • В механизме сопоставления с образцом предложен пятый предварительный вариант возможности использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе "instanceof" и в блоках "switch".
    
       switch (x.getStatus()) {
           case 0 -> "okay";
           case 1 -> "warning";
           case 2 -> "error";
           case int i -> "unknown status: " + i;
       }
       if (i instanceof byte b) {
        ... b ...
       }
    
  • Предложен для тестирования седьмой предварительный вариант API для cтруктурированного параллелизма (Structured Concurrency), упрощающего разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
  • Реализована двенадцатая тестовая реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Доступен третий предварительный вариант API для кодирования и декодирования объектов с криптографическими ключами, сертификатами и списками отозванных сертификатов, используя формат PEM (Pivacy-Enhanced Mail).

Дополнительно можно отметить публикацию обновления платформы для создания приложений с графическим интерфейсом JavaFX 27. В ближайшие часы также ожидается выпуск универсальной виртуальной машины GraalVM 27, поддерживающей запуск приложений на JavaScript (Node.js), Python, Ruby, R, любых языках для JVM (Java, Scala, Clojure, Kotlin) и языках, для которых может формироваться биткод LLVM (C, C++, Rust).

  1. Главная ссылка к новости (https://blogs.oracle.com/java/...)
  2. OpenNews: Выпуск Java SE 26 и OpenJDK 26. Проект по интеграции поддержки JavaScript и Python в JVM
  3. OpenNews: Выпуск Java SE 25 LTS и OpenJDK 25
  4. OpenNews: Доступна платформа Jakarta EE 11, продолжающая развитие Java EE
  5. OpenNews: Выпуск Java SE 24 и OpenJDK 24
  6. OpenNews: Выпуск Java SE 23 и OpenJDK 23
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66293-java
Ключевые слова: java
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, IdeaFix (ok), 09:24, 17/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    На 8 хорошо, стабильно, после update 3xx ничего не ломается больше особо. А заявления о сохранении обратной совместимости с прошлыми выпусками платформы Java каждый раз приятно смешат :) Хотя конечно так как ява-джакарта вряд ли что-то рассмешит теперь :)
     
     
  • 2.4, жявамэн (ok), 09:43, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    нет не хорошо
    только легаси монолитам на шиндошсе может и хорошо

    а вот в кубере за каждый десяток мегабайтов озу идет борьба и там и новые гц и оптимизации по памяти важны

     
     
  • 3.8, Аноним (8), 09:48, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Плебс запускающий свои трорения в конуре хозяина должен страдать.
     
     
  • 4.11, жявамэн (ok), 09:53, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    лол
    работнику ИП Го*н*в виднее разумеется что во всех энторпрайз конторах творится
     
     
  • 5.13, Аноним (8), 10:01, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Известно что у вас там творится, сисадминов/тестеров разогнали, железо профукали, разрабам-терпилам подвалили обязаностей в виде "девопса" и "tdd". Шел 2026г, но битва за кубер продолжается!
     

  • 1.3, Аноним (3), 09:39, 17/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подождём openj9.
     
     
  • 2.5, Аноним (8), 09:44, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем?
     
     
  • 3.7, Аноним (3), 09:47, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Он всегда был гораздо эффективнее по ресурсам и лучше твикается под задачи.
     
     
  • 4.10, жявамэн (ok), 09:50, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    нуну
    без нормальных то ГЦ

    когда то читал сравнеине j9 и хотспота на хайлоад нагрузках
    j9 показал себя ничтожеством

    потому хотспот онли

     
  • 2.6, жявамэн (ok), 09:44, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    axios-jdk хватит всем
    в том числе и на эльбрусах
     

  • 1.9, Аноним (9), 09:48, 17/09/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Маинкрафт будет быстрее работать с этим?
     
     
  • 2.12, жявамэн (ok), 09:54, 17/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    сервер - да
    клиент - нет
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить новость, Поддержать