Oracle объявила, что Java 15 теперь общедоступна. Объявление было сделано во вступительном слове Oracle Developer Live, онлайн-версии обычных конференций CodeOne и OpenWorld.
Это первый выпуск «официального» Oracle Java после 25-летия языка в мае.
Жорж Сааб, вице — президент по разработке Java-платформы Oracle, сказал::
«В то время как Java празднует свое 25-летие, мы продолжаем делать технические инвестиции, которые продвигают инновации Java вперед и помогают справиться с быстро меняющимся технологическим ландшафтом.»
Дата выпуска соответствует регулярному шестимесячному графику выпуска Oracle, который они начали еще в 2018 году с Java 10. Цель состоит в том, чтобы обеспечить улучшения и исправления в меньших наборах, чтобы свести к минимуму сбои. Существует два отдельных выпуска Java 15 — Oracle JDK 15 является коммерчески лицензированной версией с коммерческой поддержкой, в то время как Oracle OpenJDK 15 предлагается под лицензией GNU General Public License v2 с открытым исходным кодом, за исключением пути к классам (GPLv2+CPE).
Над Java 15 работали как сотрудники Oracle, так и сторонние разработчики. Java 15 добавляет поддержку скрытых классов и повышает безопасность благодаря поддержке алгоритма цифровой подписи Edwards-Curve (EdDSA). Это предназначено для повышения безопасности и производительности криптографических подписей.
Поддержка скрытых классов упрощает использование фреймворков, которым необходимо создавать классы во время выполнения. Скрытые классы могут быть доступны только через отражение, а не из обычного байт-кода. Они также могут быть выгружены независимо от других классов, что может уменьшить объем памяти фреймворка.
В настоящее время доработан ряд функций, которые были включены в предварительные версии, включая текстовые блоки. Текстовый блок-это многострочный строковый литерал, который позволяет избежать необходимости в большинстве escape-последовательностей, автоматически форматирует строку предсказуемым образом и дает разработчикам контроль над форматом, когда это необходимо.
ZGC, масштабируемый GC с низкой задержкой, теперь является производственной функцией. Цель перехода на ZGC состоит в том, чтобы сократить время паузы GC, обрабатывать кучи от относительно небольших (несколько сотен мегабайт) до очень больших (много терабайт) по размеру, а также заложить основу для будущих функций GC и оптимизации с использованием цветных указателей и барьеров нагрузки.
Шенандоа также была включена в качестве производственной функции. Shenandoah-это сборщик мусора с низким временем паузы, который сокращает время паузы GC, выполняя работу по эвакуации одновременно с запущенными потоками Java. Время паузы в Shenandoah не зависит от размера кучи. Shenadoah был добавлен в качестве альтернативного GC, но по умолчанию GC по-прежнему G1.