Профиль: Аноним (вход | регистрация) не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.dev/opennews/art.shtml?num=66010

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

Оглавление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27. Сообщение от Аноним (6), 02-Авг-26, 02:34   +2 +/
В данном да
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   +1 +/
>  не корявая наколенка типа сишарп стракт

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

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

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

Столько неудобных вопросиков, на которые разработчики сишарпа отвечали ДО разработки языка

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

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

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

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

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

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

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

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

39. Сообщение от iZENemail (ok), 02-Авг-26, 08:21   +2 +/
Для компиляции и сборки Rust 1.97 на FreeBSD не хватает 32 ГБ оперативной памяти, процесс сборки лезет в SWAP.
Для компиляции и сборки OpenJDK 26 достаточно 4 ГБ ОЗУ.
И что из них считается bloatware?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #43, #60

42. Сообщение от ПомидорИзДолины (?), 02-Авг-26, 09:19   –1 +/
С переморожкнного мяса на свежую фермерскую колбасу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

43. Сообщение от Аноним (-), 02-Авг-26, 09:41   +1 +/
До этих не достучаться. Сами придумали что раст - серебряная пуля, панацея. Сами в это поверили... ведут себя как откровенные фанатики. Вот уж действительно маркер здравого смысла!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

44. Сообщение от Анонисссм (?), 02-Авг-26, 10:02   +1 +/
>Создатели явы изобрели структуры.

по факту это всё было много лет в лице подключаемых одной строчкой fastutils, колобок итд

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

45. Сообщение от Анонисссм (?), 02-Авг-26, 10:04   +/
>получим раздувание по CPU и по стеку

очередная экспертиза попеннета.


Это огромная разница для:

CPU cache;
SIMD;
скорости обхода.
4. Меньше cache misses ⭐⭐⭐⭐☆


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

46. Сообщение от Смузихеб забывший пароль (?), 02-Авг-26, 10:20   +2 +/
> 64 бита ... Лимит будет ограничен 32 битами

Вот это отлично и просто замечательно. Максимально платформонезависимо

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

47. Сообщение от Смузихеб забывший пароль (?), 02-Авг-26, 10:22   +/
> в котлен идти

как будто что-то плохое. Джава не-курильщика

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

48. Сообщение от Смузихеб забывший пароль (?), 02-Авг-26, 10:24   –1 +/
с соевого подпорченного мяса на пельмени но без мяса
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

49. Сообщение от Смузихеб забывший пароль (?), 02-Авг-26, 10:27   +/
"не имеют идентичности (в отличие от обычных объектов, два экземпляра с одинаковыми полями считаются равными)"
-Мы сделали максимально громоздко, сложно, зато типо секурно и теперь - да, срочно допиливаем чтобы было просто ведь сильно секурно не получилось )
Ответить | Правка | Наверх | Cообщить модератору

50. Сообщение от Человек обыкновенный (?), 02-Авг-26, 11:18   +2 +/
Сейчас нейронки делают на Си то, ради чего руст придумали, и при этом с нулевыми затратами времени выполнения. Современные нейронки сделали старинный Си опять актуальным.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #56, #62

51. Сообщение от Аноним (51), 02-Авг-26, 11:33   +/
Кода уже в яве указатели появятся
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #61

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

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

55. Сообщение от Аноним (55), 02-Авг-26, 12:46   +/
Интересно, у них генерики всё ещё упаковываются в object или уже победили?
Смешно было, когда «отсталый клон от мелкомягких» уже на версии три обходил по куче аспектов, а с четвёрки ушёл в отрыв.
(потом пришли индусы-явисты и всё скатилось, но это уже другая история)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #59

56. Сообщение от Аноним (3), 02-Авг-26, 13:12   +/
Если уж на то пошло, то к такому коду ты не можешь притронуться своей рукой, а то опять дырка получится. Понять его тоже не так просто бывает.
Вот и получается, что уже и не важно на чем написано, хоть на asm. Нейронка написала - нейронка будет рефакторить несколько версий спустя (версий самой нейронки).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

57. Сообщение от zionist (ok), 02-Авг-26, 13:47   +/
>>получим раздувание по CPU и по стеку
> очередная экспертиза попеннета.

А что не так в том, что я сказал?

> Это огромная разница для:
>
> CPU cache;
> SIMD;
> скорости обхода.
> 4. Меньше cache misses ⭐⭐⭐⭐☆

Это всё хорошо, но в бэкэнде обычно просто данные переносят для обработки от туда сюда и обратно. Как тебе тут помогут CPU cache и прочие SIMD, если value классами начнут пользоваться бездумно где только можно?

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

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

59. Сообщение от Аноним (58), 02-Авг-26, 14:08   +1 +/
Обратная совместимость в java - это не шутки. У меня до сих пор есть код, который под Java 1.4 написан. И работает же, не требует переписывать.

Поэтому когда mircosoft сделал с нуля что-то похожее, он смог отбросить неактуальные ограничения. К сожалению, отбросил он и необходимые ограничения тоже, поэтому не майкрософт не смогли родить кросс-платформенное решение в отличие от джавы. Мелкомягкие даже аналог JCK родить не смогли. То есть не смогли стать ничем серьёзным, ограничившись своей платформой с кучей несовместимостей.

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

60. Сообщение от Аноним (60), 02-Авг-26, 14:42   +/
А зачем их компилировать самому? В дистрибутиве нет разве?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

61. Сообщение от Вася Пупкин (?), 02-Авг-26, 14:50   +1 +/
Они с самого начала в языке, пример:

List list = new ArrayList();

list <----- это указатель на кусок ОЗУ в котором хранится непосредственно ArrayList

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

62. Сообщение от Вася Пупкин (?), 02-Авг-26, 14:52   +1 +/
Согласен, в принципе Раст уже не нужен, пишешь на С а нейронки все проверят, сразу скажут где баги
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #66

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

64. Сообщение от BunRustZigBuzCruller (?), 02-Авг-26, 15:37   +/
Вовремя я сбежал на TypeScript.
Ответить | Правка | Наверх | Cообщить модератору

65. Сообщение от morphe (?), 02-Авг-26, 16:01   +/
> Вот это отлично и просто замечательно. Максимально платформонезависимо

Так это ж просто оптимизация а не то на что ты можешь реально полагаться)

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

66. Сообщение от BunRustZigBuzCruller (?), 02-Авг-26, 16:17   +/
Пупкинз, зачем писать на С с помощью ИИ, когда можно на Расте?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62


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

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




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

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