Домой Новости Софт и сервисы Проект Valhalla будет включён в основную ветку JDK

Проект Valhalla будет включён в основную ветку JDK

Масштабное обновление OpenJDK 28 принесет долгожданные классы значений для оптимизации работы с памятью и повышения производительности Java-приложений.

Лоис Фолтан из компании Oracle официально подтвердила, что реализация предложения JEP 401 («Классы и объекты значений») будет интегрирована в основной репозиторий OpenJDK. Данная функциональность запланирована для включения в релиз JDK 28, который ожидается в марте 2027 года. На первых порах нововведение будет доступно как экспериментальная функция, отключенная по умолчанию.

Суть проекта Valhalla

Главная концепция проекта Valhalla описывается разработчиками фразой: «код как класс, работает как int». Основная цель — внедрение классов значений (Value classes), которые привносят в Java принципиально новые возможности для оптимизации:

  • Отсутствие идентичности: в отличие от стандартных объектов, два экземпляра с идентичным набором полей считаются равными.
  • Запрет на синхронизацию: попытка использования блока synchronized с такими объектами приведет к возникновению ошибки IdentityException.
  • Скаляризация: возможность разложения объектов на отдельные поля без необходимости выделения памяти под полноценный объект, а также плотное размещение данных в массивах и полях.

Изменения в синтаксисе

Для работы с новыми типами в язык вводится ключевое слово value. Применение такого подхода позволяет массивам (например, Point[]) хранить значения напрямую, а не хранить ссылки на объекты, что значительно повышает производительность и эффективность использования кэш-памяти процессора.

Источник: http://www.opennet.ru