Вышла 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 также был оптимизирован с помощью редизайна барьеров, контролирующих доступ приложений к памяти. Расширение барьера теперь выполняется позже в процессе компиляции в JIT-компиляторе C2, что снижает его накладные расходы до 20% в зависимости от типа приложения.

Улучшения безопасности и шифрования

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

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

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

Java Security Manager, который был объявлен устаревшим после прекращения поддержки плагинов браузера, был окончательно удален.

Оптимизации

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

также Улучшена реализация Scoped Values., который теперь рпозволяет обмениваться неизменяемыми данными между потоками более эффективно, заменяя традиционный механизм локальных переменных потока. Это особенно полезно при работе с миллионами виртуальных потоков одновременно.

Еще одна новинка - оптимизация виртуальных потоков в заблокированных состояниях. В этом выпуске заблокированный виртуальный поток освобождает свой поток платформы, что позволяет повторно использовать его другим потокам, что улучшает масштабируемость в системах с высоким уровнем использования многопоточности.

Из другие изменения, которые выделяются:

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

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

Скачать Java SE 24

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