Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

01.08.2026 21:42 (MSK)

Лоис Фолтан (Lois Foltan) из компании Oracle подтвердила, что реализация предложения JEP 401 ("Value Classes and Objects") будет интегрирована в основной репозиторий OpenJDK и запланирована для включение в релиз JDK 28, намеченный на март 2027 года, в качестве отключённой по умолчанию экспериментальной функции.

Ключевая идея проекта Valhalla: "код как класс, работает как int". Проектом водится понятие классов значений (Value classes), позволяющих создавать типы, которые:

  • не имеют идентичности (в отличие от обычных объектов, два экземпляра с одинаковыми полями считаются равными).
  • не могут быть синхронизированы (synchronized вызывает IdentityException).
  • могут быть скаляризованы (разложены на поля без выделения памяти) или выровнены в массивах и полях (данные хранятся плотно и последовательно).

Синтаксис подразумевает использование нового ключевого слова "value":


   value class Point {
       final int x;
       final int y;
       Point(int x, int y) { this.x = x; this.y = y; }
   }

В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты.

  1. Главная ссылка к новости (https://www.jvm-weekly.com/p/p...)
  2. OpenNews: Выпуск Java SE 26 и OpenJDK 26. Проект по интеграции поддержки JavaScript и Python в JVM
  3. OpenNews: Выпуск Java SE 25 LTS и OpenJDK 25
  4. OpenNews: Доступна платформа Jakarta EE 11, продолжающая развитие Java EE
  5. OpenNews: Выпуск Java SE 24 и OpenJDK 24
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66010-java
Ключевые слова: java, jdk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 21:46, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    круто.
     
     
  • 2.14, Аноним (14), 23:25, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Только а зачем, если на уровне компилятора можно было отлавливать все что можно оптимизировать и обрабатывать под капотом? А для валидаций в java и без этого много инструментов.
     
  • 2.19, Аноним (19), 23:48, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Они изобрели паскалевский record!
     

  • 1.3, Аноним (3), 21:52, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    fyi 12 лет разрабатывают.
     
     
  • 2.7, Dzen Python (ok), 22:03, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну, зато достаточно стабильно для прода
     

  • 1.4, trolleybus (ok), 21:53, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Создатели явы изобрели структуры... Скоро перегрузку операторофф придумают
     
     
  • 2.6, Аноним (6), 22:02, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не изобрели. Point из трёх интов будет ссылкой
     
     
  • 3.16, Аноним (16), 23:33, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    и плевать, что прямо в новости написано "В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты. "
     
  • 3.18, penetrator (?), 23:41, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты.
     
  • 2.8, Dzen Python (ok), 22:04, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Украли у 1С, ужас
     
     
  • 3.10, Аноним (10), 22:33, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а те к бэсика с паскалем, получается что тое у бэсика с паскалем
     

  • 1.5, slavanap (?), 21:56, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Добро пожаловать к C# struct.
     
     
  • 2.20, Brian (?), 23:52, 01/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Только как обычно в Java этим без слоя гов/del ломбока пользоваться невозможно будет, за нормальным апи придется опять в котлен идти
     

  • 1.9, _ (??), 22:09, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Имитация жизни.
     
  • 1.15, Аноним (15), 23:27, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ну вот и нормальная реализация потихоньку выходит на сцену. не корявая наколенка типа сишарп стракт. всётаки джава оперирует баблом всего мира
     
  • 1.17, zionist (ok), 23:41, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь вместо раздувания по heap памяти получим раздувание по CPU и по стеку. Когда миллионы жабодевелоперов с непривычки начнут передавать value слассы куда угодно, то есть станут приумнажать копирование данных.
     
  • 1.21, Аноним (21), 00:03, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тот самый момент, когда ребята, которые хвалились какие у них классные интерпретируемые/VM-языки, начинают заново изобретать велосипед, т.е. простые типы из компилируемых языков. Ибо так тупо оптимальнее.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру