Мир технологий ожидает Java 21 с ее множеством усовершенствований, главными из которых являются введение виртуальных потоков в предварительной форме и окончательное создание сборщика мусора Z поколения, широко известного как ZGC.
Обновления реализации Java обычно классифицируются по различным подмножествам проектов. Этот конкретный цикл улучшений включает в себя инновации из трех ключевых проектов: Loom, Panama и Amber. Эти три инициативы направлены на повышение конкурентоспособности Java, ее связи с собственным кодом и появление более мелких, ориентированных на удобство использования функций языка Java после их одобрения в качестве кандидатов в JEP соответственно, согласно определению Oracle.
Project Loom открывает одну из ключевых функций — виртуальные потоки, предложенные Georges Saab, старшим вице-президентом Oracle по разработке платформы Java и председателем OpenJDK, в качестве одной из заметных особенностей предварительного просмотра в этой новейшей версии. В отчете JEP виртуальные потоки поясняются как «сверхлегкие потоки, предназначенные для написания, поддержки и наблюдения за одновременными приложениями с высокой пропускной способностью».
По мнению Saab, этот технологический скачок может переопределить ландшафт масштабируемости Java, обеспечивая при этом совместимость с существующим программным обеспечением. Эта функция вызвала огромный ажиотаж в кругах программистов, даже среди профессионалов, не входящих в непосредственную сферу деятельности Java, которые аплодируют реализации этой концепции в Java.
Project Loom также включает в себя две другие функции предварительной версии, а именно значения с заданной областью и структурированный параллелизм. В то время как значения с заданной областью обеспечивают эффективный и безопасный обмен значениями с методами без необходимости использования параметров метода, структурированный параллелизм визуализирует несколько связанных задач из разных потоков как один объект, способствуя эффективному управлению ошибками и повышению надежности.
Другим примечательным дополнением в релизе, хотя и не привязанным к конкретному названному проекту, является Generational ZGC. Это разделяет старые и новые объекты, поэтому молодые объекты можно собирать чаще, что может привести к меньшим задержкам выделения, уменьшению накладных расходов на память кучи и уменьшению нагрузки на ЦП из-за сборки мусора.
В сочетании с Project Amber в Java 21 реализовано сопоставление шаблонов для выражений переключателей, что позволяет тестировать выражение на соответствие различным шаблонам, тем самым помогая формулировать запросы, ориентированные на данные, более лаконично и безопасно.
Среди других примечательных нововведений Project Amber — безымянные шаблоны и переменные, а также безымянные классы и основные методы экземпляров, оба из которых находятся на стадии предварительной версии. Эти дополнения направлены на то, чтобы сделать Java более доступной и легкой для понимания новичками, с плавным переходом к созданию более сложных программ Java, защищенных более тонкими эшелонами концепций языка.
В результате проекта «Панама» появились усовершенствования двух разрабатываемых API: API внешних функций и памяти (в настоящее время находится в третьей предварительной версии) и Vector API (находится на шестой стадии инкубатора). В то время как первый облегчает взаимодействие программ Java с внешними системами, второй обеспечивает оптимальные векторные инструкции на совместимых архитектурах ЦП во время выполнения.
Дополнительные новые элементы в Java 21 включают последовательные коллекции, API механизма инкапсуляции ключей, прекращение использования 32-разрядного порта x86 и подготовку к запрету динамической загрузки агентов. Java по-прежнему остается предпочтительной платформой разработки для всего: от небольших проектов до решений корпоративного уровня, а платформа AppMaster no-code лидирует по эффективности и масштабируемости.
Мир разработки, будь то веб-приложения или мобильные приложения, постоянно развивается, и, как утверждает Жорж Сааб, существует огромное удовлетворение состоянием Java и множество интересных инноваций, ожидающих своего развития.