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

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



"Проект Valhalla будет включён в основную ветку JDK"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Проект Valhalla будет включён в основную ветку JDK"  +/
Сообщение от opennews (??), 01-Авг-26, 21:45 
Лоис Фолтан (Lois Foltan) из компании Oracle  подтвердила, что реализация предложения JEP 401 ("Value Classes and Objects") будет интегрирована в основной репозиторий OpenJDK и запланирована для включение в релиз JDK 28, намеченный на март 2027 года, в качестве отключённой по умолчанию экспериментальной функции...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=66010

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 01-Авг-26, 21:46   +1 +/
круто.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #19

3. Сообщение от Аноним (3), 01-Авг-26, 21:52   +3 +/
fyi 12 лет разрабатывают.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7

4. Сообщение от trolleybus (ok), 01-Авг-26, 21:53   +5 +/
Создатели явы изобрели структуры... Скоро перегрузку операторофф придумают
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #8, #36

5. Сообщение от slavanap (?), 01-Авг-26, 21:56   +4 +/
Добро пожаловать к C# struct.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20

6. Сообщение от Аноним (6), 01-Авг-26, 22:02   +2 +/
Не изобрели. Point из трёх интов будет ссылкой
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #16, #18

7. Сообщение от Dzen Python (ok), 01-Авг-26, 22:03   +5 +/
Ну, зато достаточно стабильно для прода
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

8. Сообщение от Dzen Python (ok), 01-Авг-26, 22:04   –3 +/
Украли у 1С, ужас
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #10

9. Сообщение от _ (??), 01-Авг-26, 22:09   +1 +/
Имитация жизни.
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Аноним (10), 01-Авг-26, 22:33   +1 +/
а те к бэсика с паскалем, получается что тое у бэсика с паскалем
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

14. Сообщение от Аноним (14), 01-Авг-26, 23:25   –1 +/
Только а зачем, если на уровне компилятора можно было отлавливать все что можно оптимизировать и обрабатывать под капотом? А для валидаций в java и без этого много инструментов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

15. Сообщение от Аноним (15), 01-Авг-26, 23:27   –2 +/
ну вот и нормальная реализация потихоньку выходит на сцену. не корявая наколенка типа сишарп стракт. всётаки джава оперирует баблом всего мира
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28

16. Сообщение от Аноним (16), 01-Авг-26, 23:33   –1 +/
и плевать, что прямо в новости написано "В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты. "
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #24, #32

17. Сообщение от zionist (ok), 01-Авг-26, 23:41   +/
Теперь вместо раздувания по heap памяти получим раздувание по CPU и по стеку. Когда миллионы жабодевелоперов с непривычки начнут передавать value слассы куда угодно, то есть станут приумнажать копирование данных.
Ответить | Правка | Наверх | Cообщить модератору

18. Сообщение от penetrator (?), 01-Авг-26, 23:41   +/
> В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #27

19. Сообщение от Аноним (19), 01-Авг-26, 23:48   +1 +/
Они изобрели паскалевский record!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

20. Сообщение от Brian (?), 01-Авг-26, 23:52   +/
Только как обычно в Java этим без слоя гов/del ломбока пользоваться невозможно будет, за нормальным апи придется опять в котлен идти
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

21. Сообщение от Аноним (21), 02-Авг-26, 00:03   +3 +/
Тот самый момент, когда ребята, которые хвалились какие у них классные интерпретируемые/VM-языки, начинают заново изобретать велосипед, т.е. простые типы из компилируемых языков. Ибо так тупо оптимальнее.
Ответить | Правка | Наверх | Cообщить модератору

22. Сообщение от Аноним (22), 02-Авг-26, 00:43   –3 +/
В оракле только пока ещё видимо не поняли что ничегл кроме раста не нужно. Всё, что сейчач написано на жаве может быть написано на расте и работать сильно лучше.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23, #26, #30

23. Сообщение от Аноним (19), 02-Авг-26, 01:10   +/
Ну это как советовать перейти с мяса на колбасу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

24. Сообщение от Аноним (6), 02-Авг-26, 01:30   +/
Поинт из двух тестов да, а из трёх - нет. Атомарность при изменении объекта в джаве ломать не будут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #25

25. Сообщение от Аноним (6), 02-Авг-26, 01:30   +/
Интов, а не тестов, блин.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

26. Сообщение от Аноним (15), 02-Авг-26, 02:00   +1 +/
помнится судо на раст аккуратно переписывали и выявилась куча багов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

27. Сообщение от Аноним (6), 02-Авг-26, 02:34   +1 +/
В данном да
https://openjdk.org/jeps/401
>Reference flattening must maintain the integrity of data. A flattened reference must always be read and written atomically, or it could become corrupted. On common hardware architectures, this limits the size of mutable fields that store flattened references to no more than 64 bits.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

28. Сообщение от Илья (??), 02-Авг-26, 02:37   +/
>  не корявая наколенка типа сишарп стракт

скорее наоборот. в дотнете виртуальная машина планировалась под структутры и дженерики, и там всё это уже лет 20 есть

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

29. Сообщение от Илья (??), 02-Авг-26, 02:48    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору

30. Сообщение от Аноним (30), 02-Авг-26, 02:52   +1 +/
Джава гораздо безопаснее раста.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #31

31. Сообщение от Аноним (31), 02-Авг-26, 03:54   –1 +/
Джава "гораздо безопаснее" какого-нибудь C++. По сравнению с растом она только чуть-чуть более безопасна, но плата за это чуть-чуть - гигантская. Хреновый расход памяти, хреновая производительность, постоянное таскание JRE с собой, хреновая система типов, низкокачественная экосистема библиотек, и так далее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

32. Сообщение от morphe (?), 02-Авг-26, 03:57   +1 +/
Там лимит 64 бита для прямого хранения

Для того чтобы из нескольких потоков можно было переписывать элемент массива и при этом не получалось data race когда одно поле внутри Point переписало, а второе нет - они требуют чтобы такие записи были атомарные, а атомарно больше 64 бит писать нельзя

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #33, #34

33. Сообщение от morphe (?), 02-Авг-26, 03:59   +/
При этом на платформах что не могут атомарно писать 64 бита, например x32... Лимит будет ограничен 32 битами. Ну, хоть Integer[] оптимизирован будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

34. Сообщение от Аноним (16), 02-Авг-26, 05:14   –1 +/
> для того чтобы из нескольких потоков можно было переписывать элемент массива и при этом не получалось data race когда одно поле внутри Point переписало, а второе нет

Чел, попытайся читать не пятой точкой. Тебе прямо в первом предложении сказано "Introduce value objects, which are immutable". Ты понимаешь, что такое immutable?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #37

36. Сообщение от Аноним (36), 02-Авг-26, 05:53    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

37. Сообщение от morphe (?), 02-Авг-26, 06:09   +/
> Чел, попытайся читать не пятой точкой. Тебе прямо в первом предложении сказано
> "Introduce value objects, which are immutable". Ты понимаешь, что такое immutable?

Я говорю не про изменение поля внутри Point, а изменение элемента массива Point[]

...Что реализовано атомарным переписыванием всех полей

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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