Компания Oracle выпустила новую версию языка программирования Java 24, предоставив разработчикам обновлённую платформу с рядом улучшений и нововведений. Java 24 не является версией с долгосрочной поддержкой (LTS) и будет получать обновления до сентября 2025 года.
Постквантовая криптография
Oracle внедрила нововведения JEP 496 и JEP 497 с целью усиления безопасности в условиях развития квантовых технологий. Эти улучшения базируются на решёточной криптографии, обеспечивая защиту данных от потенциальных угроз со стороны квантовых компьютеров.
Улучшения в языке и API
В Java 24 улучшили механизмы работы с примитивными типами и многопоточностью, что способствует повышению производительности и удобочитаемости программ.
- Примитивные типы в шаблонах (patterns), instanceof и switch. В Oracle продолжают работу над расширением возможностей Java для более гибкой и выразительной работы с примитивными типами.
- Структурированная конкурентность. Представлена четвёртая предварительная версия JEP 428, направленная на упрощение работы с многопоточностью и повышение читаемости и надёжности кода.
Оптимизация производительности
В этой версии платформа получила ряд улучшений по производительности. Оптимизация работы сборщиков мусора и компиляции позволяет ускорить выполнение приложений, снизить потребление ресурсов и улучшить отклик системы.
- Улучшения в сборщиках мусора. В Java 24 внедрили оптимизацию в сборщиках мусора, включая G1 и ZGC, которая способствует снижению пауз и повышению общей производительности приложений.
- Компиляция с опережением (AOT). В новой версии появилась поддержка AOT-компиляции, позволяющая ускорить запуск приложений за счёт предварительной компиляции байт-кода в машинный код.
Отключение Security Manager
Механизм Security Manager, предназначенный для ограничения доступа приложений к ресурсам системы, окончательно отключили в Java 24 в рамках JEP 486. Это решение связано с его редким использованием и сложностью поддержки. Разработчикам рекомендуется переходить на аналоговые механизмы обеспечения безопасности.
Предупреждения при использовании sun.misc.Unsafe
В Java 24 ввели предупреждения при использовании небезопасных методов доступа к памяти из пакета sun.misc.Unsafe. Это сделали с целью поощрения перехода разработчиков к более безопасным и современным API, таким как VarHandle и Foreign Function & Memory API.
Отказ от поддержки 32-битных систем Linux
В новой версии Java отсутствует поддержка 32-битных x86-систем Linux. Ранее, в версии 21, Oracle отключила поддержку 32-битных систем Windows. Это связано с переходом индустрии на 64-битные архитектуры и снижением актуальности поддержки 32-битных систем.
Полный список нововведений и изменений новой версии есть в официальной документации Java 24.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!