Официально объявлено, что пакет Java Development Kit 19, появление которого ожидается в сентябре текущего года, обеспечит перенос JDK в среду Linux с открытым кодом на процессорах с набором инструкций RISC-V.
В соответствии с текущими планами по улучшению Java пакет JDK 19 (или просто Java 19) будет поддерживать широкий набор функций, начиная от универсальных дженериков и заканчивая объектами значений. Пока же единственным официально подтвержденным новшеством является перенос на платформу RISC-V. Версия JDK 19 будет выпущена вслед за JDK 18, которая появилась 22 марта. Выпуск релизов стандартной версии Java происходит раз в полгода.
После переноса на платформу Linux/RISC-V технология Java сможет работать с набором аппаратных инструкций, который уже поддерживается широким спектром языковых средств компиляции. На практике RISC-V представляет собой семейство связанных наборов команд. Пока перенос на платформу Linux/RISC-V будет поддерживать только конфигурацию RV64GV – 64-разрядную архитектуру набора команд общего назначения, включающего векторные инструкции. В будущем разработчики Java могут рассмотреть и другие конфигурации RISC-V.
Предполагается поддержка следующих компонентов виртуальной машины HotSpot: интерпретатор шаблонов, JIT-компилятор C1 (клиентский), JIT-компилятор C2 (серверный) и все существующие сборщики мусора, включая ZGC и Shenandoah. Фактический перенос почти завершен; основное внимание в JDK Enhancement Proposal (JEP) уделяется интеграции переноса в основной репозитарий JDK.
Помимо переноса на платформу RISC-V, похоже, можно говорить о том, что предварительная версия интерфейса API внешних функций и памяти, позволяющего программам Java взаимодействовать с кодом и данными за пределами исполняемой среды виртуальной машины Java, также ориентирована на JDK 19, поскольку API ссылается на JDK 19. Но по состоянию на 14 марта API внешних функций и памяти на странице JDK 19 OpenJDK не присутствует.
Как JDK 18, так и JDK 19 не предполагают долгосрочной поддержки. Их сопровождение ограничено всего лишь шестью месяцами. Текущая же версия, JDK 17, относится как раз к числу выпусков с долгосрочной поддержкой, осуществляемой на протяжении нескольких лет.