Представитель Oracle поделился планами корпорации по развитию платформы и языка программирования Java. Они касаются ряда проектов OpenJDK, в частности, Amber — по разработке мелких функций, ориентированных на повышение продуктивности программирования; Babylon — по реализации поддержки новых моделей программирования, в том числе для графических процессоров; Valhalla — по повышению производительности и др.
В рамках проекта Babylon планируются новые возможности рефлексивного программирования (создания кода, способного динамически меняться в процессе выполнения), в том числе расширение рефлексивного API и поддержка трансформации кода внутри метода. Одна из целей — дать возможность писать код, который библиотеки смогут интерпретировать, например, как математическую функцию.
Продолжится работа над проектом Leyden, направленным на ускорение запуска и уменьшение объема Java-программ. В частности, планируется доработать концепцию «уплотнителей» (condenser) — фильтров, которые перед запуском отбрасывают неиспользуемые части кода. В рамках проекта Amber стадии ознакомительной версии достигли шаблоны строк, упрощенный метод main и еще ряд особенностей.
Работа над проектом Valhalla будет сосредоточена на реализации упрощенных классов (value class) и объектов (value object), призванных устранить узкие места Java, из-за которых в определенных ситуациях падает производительность.
Развивается проект Lilliput, направленный на уменьшение заголовков объектов Java в виртуальной машине Hotspot и снижение расхода оперативной памяти, — сейчас основное внимание уделяется доработке механизма быстрых блокировок, который позволит в некоторых случаях ускорить выполнение программы, особенно в ситуациях с частым изменением ограничений доступа к ресурсам.
В рамках проекта Panama продолжается реализация поддержки связей виртуальных машин Java с интерфейсами, которые широко используются программистами на Си и других языках. В частности, идет работа над API векторных вычислений и инструментом jextract, который будет автоматически генерировать связи Java из заголовков в библиотеках на других языках.
Сообщается о завершении работы над проектом Loom по реализации облегченных, более масштабируемых потоков virtual threads и других усовершенствованных функций параллелизма — ожидается, что в этом году они будут утверждены для включения в стандарт.
Вместе с тем в Oracle отметили, что часть перечисленных особенностей может появиться в JDK лишь в 2025 году или позднее.