| |
| 2.14, Аноним (14), 23:25, 01/08/2026 [^] [^^] [^^^] [ответить]
| –6 +/– |
Только а зачем, если на уровне компилятора можно было отлавливать все что можно оптимизировать и обрабатывать под капотом? А для валидаций в java и без этого много инструментов.
| | |
| |
| 3.58, Аноним (58), 14:04, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Потому и нужно, что на уровне комплиятора не решить проблему. В Java большая часть функциональности - это JVM. Да, комплиятор может приукрасить, скрыть сложности, но принципы хранения данных опеределяет сама JVM. И если у неё нет подходящих фич, то хоть выворачивай компилятор наизнанку - он ничего поделать не сможет.
| | |
|
| |
| 3.55, Аноним (55), 12:46, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Интересно, у них генерики всё ещё упаковываются в object или уже победили?
Смешно было, когда «отсталый клон от мелкомягких» уже на версии три обходил по куче аспектов, а с четвёрки ушёл в отрыв.
(потом пришли индусы-явисты и всё скатилось, но это уже другая история)
| | |
| |
| 4.59, Аноним (58), 14:08, 02/08/2026 [^] [^^] [^^^] [ответить]
| +6 +/– | |
Обратная совместимость в java - это не шутки. У меня до сих пор есть код, который под Java 1.4 написан. И работает же, не требует переписывать.
Поэтому когда mircosoft сделал с нуля что-то похожее, он смог отбросить неактуальные ограничения. К сожалению, отбросил он и необходимые ограничения тоже, поэтому не майкрософт не смогли родить кросс-платформенное решение в отличие от джавы. Мелкомягкие даже аналог JCK родить не смогли. То есть не смогли стать ничем серьёзным, ограничившись своей платформой с кучей несовместимостей.
| | |
| |
| 5.123, morphe (?), 03:24, 06/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> И работает же, не требует переписывать.
В общем случае про жаву это неправда
Совместимость на уровне исходных кодов они уже много раз ломали (Потому что гарантии совместимости только на уровне байткода), да и в целом большинство высокопроизводительного кода часто полагается на реализацию кишков, и всякие netty ломаются с каждым большим релизом
| | |
|
| 4.73, erifferfre (?), 18:41, 02/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
Конечно упаковываются :)
В этом случае оптимизироваться будет только "Point[]" (а может и не будет, как карта ляжет) а "ArrayList<Point>" и прочие дженерик коллекции будут как раньше боксить и хранить указатели.
| | |
|
|
|
| |
| |
| 3.16, Аноним (16), 23:33, 01/08/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
и плевать, что прямо в новости написано "В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты. "
| | |
| |
| 4.24, Аноним (6), 01:30, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Поинт из двух тестов да, а из трёх - нет. Атомарность при изменении объекта в джаве ломать не будут.
| | |
| 4.32, morphe (?), 03:57, 02/08/2026 [^] [^^] [^^^] [ответить]
| +3 +/– | |
Там лимит 64 бита для прямого хранения
Для того чтобы из нескольких потоков можно было переписывать элемент массива и при этом не получалось data race когда одно поле внутри Point переписало, а второе нет - они требуют чтобы такие записи были атомарные, а атомарно больше 64 бит писать нельзя
| | |
| |
| 5.33, morphe (?), 03:59, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
При этом на платформах что не могут атомарно писать 64 бита, например x32... Лимит будет ограничен 32 битами. Ну, хоть Integer[] оптимизирован будет.
| | |
| |
| |
| 7.65, morphe (?), 16:01, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Вот это отлично и просто замечательно. Максимально платформонезависимо
Так это ж просто оптимизация а не то на что ты можешь реально полагаться)
| | |
|
|
| 5.34, Аноним (16), 05:14, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> для того чтобы из нескольких потоков можно было переписывать элемент массива и при этом не получалось data race когда одно поле внутри Point переписало, а второе нет
Чел, попытайся читать не пятой точкой. Тебе прямо в первом предложении сказано "Introduce value objects, which are immutable". Ты понимаешь, что такое immutable?
| | |
| |
| 6.37, morphe (?), 06:09, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Чел, попытайся читать не пятой точкой. Тебе прямо в первом предложении сказано
> "Introduce value objects, which are immutable". Ты понимаешь, что такое immutable?
Я говорю не про изменение поля внутри Point, а изменение элемента массива Point[]
...Что реализовано атомарным переписыванием всех полей
| | |
| |
| 7.71, erifferfre (?), 18:36, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Там сплющивание массивов в принципе работает? Когда я в последний раз смотрел "new Point[]" создавал обычный массив с ссылками и нужно было использовать какое-то другое апи.
| | |
| |
| 8.75, morphe (?), 19:00, 02/08/2026 [^] [^^] [^^^] [ответить] | +/– | Работает если Point - 64 бита Однако там ещё null arrays какие-то есть, которые ... текст свёрнут, показать | | |
|
|
|
|
|
| 3.18, penetrator (?), 23:41, 01/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты. | | |
| |
| 4.27, Аноним (6), 02:34, 02/08/2026 [^] [^^] [^^^] [ответить]
| +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. | | |
|
|
| |
| 3.10, Аноним (10), 22:33, 01/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
а те к бэсика с паскалем, получается что тое у бэсика с паскалем
| | |
|
| 2.44, Анонисссм (?), 10:02, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>Создатели явы изобрели структуры.
по факту это всё было много лет в лице подключаемых одной строчкой fastutils, колобок итд
| | |
|
| |
| 2.20, Brian (?), 23:52, 01/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Только как обычно в Java этим без слоя гов/del ломбока пользоваться невозможно будет, за нормальным апи придется опять в котлен идти
| | |
|
| 1.15, Аноним (15), 23:27, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
ну вот и нормальная реализация потихоньку выходит на сцену. не корявая наколенка типа сишарп стракт. всётаки джава оперирует баблом всего мира
| | |
| |
| 2.28, Илья (??), 02:37, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> не корявая наколенка типа сишарп стракт
скорее наоборот. в дотнете виртуальная машина планировалась под структутры и дженерики, и там всё это уже лет 20 есть
| | |
|
| 1.17, zionist (ok), 23:41, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Теперь вместо раздувания по heap памяти получим раздувание по CPU и по стеку. Когда миллионы жабодевелоперов с непривычки начнут передавать value слассы куда угодно, то есть станут приумнажать копирование данных.
| | |
| |
| 2.45, Анонисссм (?), 10:04, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>получим раздувание по CPU и по стеку
очередная экспертиза попеннета.
Это огромная разница для:
CPU cache;
SIMD;
скорости обхода.
4. Меньше cache misses ⭐⭐⭐⭐☆
| | |
| |
| 3.57, zionist (ok), 13:47, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>получим раздувание по CPU и по стеку
> очередная экспертиза попеннета.
А что не так в том, что я сказал?
> Это огромная разница для:
>
> CPU cache;
> SIMD;
> скорости обхода.
> 4. Меньше cache misses ⭐⭐⭐⭐☆
Это всё хорошо, но в бэкэнде обычно просто данные переносят для обработки от туда сюда и обратно. Как тебе тут помогут CPU cache и прочие SIMD, если value классами начнут пользоваться бездумно где только можно?
| | |
| |
| 4.70, Анонисссм (?), 18:13, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>>получим раздувание по CPU и по стеку
> А что не так в том, что я сказал?
> Это всё хорошо, но в бэкэнде обычно
что сделал не так - приплел бэк на последнем шаге. на java даже и субд пишут и много чего не из крудошлепства.
chatGPT кстати вполне делает оценку какие задачи и на сколько ускорятся и насколько меньше ОЗУ будут жрать.
| | |
| 4.76, Аноним (76), 20:01, 02/08/2026 [^] [^^] [^^^] [ответить] | +/– | Ты бы JEP хотя бы сам прочитал что ли и мотивацию всех этих приседаний Там изна... большой текст свёрнут, показать | | |
| |
| 5.85, zionist (ok), 03:00, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Я говорил про бездумное использование value классов, а не для чего их предлагают использовать в JEP.
| | |
| |
| 6.102, Анонимущий (?), 10:51, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Сами разработчики этой темы (Brian Getz и другие) в своих интервью говорили, что value-классом можно будет сделать все классы, для которых вызывается .equals(), а не сравнение ссылок и при этом неизменяемые поля. Ну то есть потенциальный выигрыш в производительности будет практически во всем, где данные гоняются туда-сюда в классах-обертках.
| | |
| |
| 7.107, zionist (ok), 12:35, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Подавляющее большинство программистов на Java не имеет опыта программирования с передачей по значению чего-то большего, чем примитивные типы. Я с этим столкнулся лично, когда решил перейти с Java на Go. При передаче больших классов по значению увеличивается копирование данных и нагрузка на стек. Просто так использовать value классы везде и всюду - это полное безумие. Они имеют смысл лишь в определённых случаях.
| | |
|
|
| 5.119, morphe (?), 22:36, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> escape analysis
Что не гарантируется и работает через раз, что особенно наглядно заметно в любых играх на Java оперирующих структурами вроде Vector {float, float, float} где любая функция работающая с ними либо повторяет одну и ту же логику сотню раз с локальными переменными на стеке, либо пытаются полагаться на EA и в итоге долбятся об GC
| | |
|
|
|
|
| 1.21, Аноним (21), 00:03, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Тот самый момент, когда ребята, которые хвалились какие у них классные интерпретируемые/VM-языки, начинают заново изобретать велосипед, т.е. простые типы из компилируемых языков. Ибо так тупо оптимальнее.
| | |
| |
| 2.114, Аноним (114), 15:59, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Прям мою мысль словил. Ну видимо сильный протекционизм на рынке у Oracle.
Как не послушаю, так 1С прям фукака, а Java прям решение всех проблем.
| | |
|
| 1.22, Аноним (22), 00:43, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –10 +/– |
В оракле только пока ещё видимо не поняли что ничегл кроме раста не нужно. Всё, что сейчач написано на жаве может быть написано на расте и работать сильно лучше.
| | |
| |
| 2.26, Аноним (15), 02:00, 02/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
помнится судо на раст аккуратно переписывали и выявилась куча багов.
| | |
| |
| 3.31, Аноним (31), 03:54, 02/08/2026 [^] [^^] [^^^] [ответить]
| –5 +/– |
Джава "гораздо безопаснее" какого-нибудь C++. По сравнению с растом она только чуть-чуть более безопасна, но плата за это чуть-чуть - гигантская. Хреновый расход памяти, хреновая производительность, постоянное таскание JRE с собой, хреновая система типов, низкокачественная экосистема библиотек, и так далее.
| | |
| |
| 4.39, iZEN (ok), 08:21, 02/08/2026 [^] [^^] [^^^] [ответить]
| +5 +/– |
Для компиляции и сборки Rust 1.97 на FreeBSD не хватает 32 ГБ оперативной памяти, процесс сборки лезет в SWAP.
Для компиляции и сборки OpenJDK 26 достаточно 4 ГБ ОЗУ.
И что из них считается bloatware?
| | |
| |
| 5.43, Аноним (-), 09:41, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
До этих не достучаться. Сами придумали что раст - серебряная пуля, панацея. Сами в это поверили... ведут себя как откровенные фанатики. Вот уж действительно маркер здравого смысла!
| | |
| 5.112, Аноним (112), 14:24, 03/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Для компиляции и сборки Rust 1.97 на FreeBSD не хватает 32 ГБ оперативной памяти, процесс сборки лезет в SWAP.
Снизь количество процессов компиляции, не будет лезть в своп. Но тебе ж хочется все твои 16 ядер задействовать так? Выделяя по 2Гб каждому.
> Для компиляции и сборки OpenJDK 26 достаточно 4 ГБ ОЗУ.
Чтобы потом платить рантайм кост jit'а.
> И что из них считается bloatware?
Второе естественно. Компиляция занимается оптимизациями. В случае rust'а. В случае жабы она просто переводит блоат сорцов в другой формат, чтобы потом в рантайме разгребать.
| | |
|
|
| 3.78, Вася Пупкин (?), 21:54, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
ага, как же.. скажи это тредобезопасному коду, который валидируется растом на этапе компиляции
| | |
| |
| 4.86, Аноним (86), 04:33, 03/08/2026 [^] [^^] [^^^] [ответить] | +/– | Ну такие себе гарантии если честно Не в смысле плохие, а в смысле - мы тебе это... большой текст свёрнут, показать | | |
| |
| 5.95, Вася Пупкин (?), 10:09, 03/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Комптлятор это замена тестов, а помощник и их дополнение. Притом что тесты совсем не гарантируют корректность всех возможных веток исполнения, а очевидно только тех, что есть в тестах.
Да, класс программ, которые можно написать на ржавом меньше, но многие считают это приемлемой платой. Плюс есть побочный эффект об обязательности осмысления структуры программы. Неявно в плюсах и жабе ты также поддерживаешь похожие инварианты, но тут это проще - ща тебя их проверят компилятор.
| | |
| 5.120, morphe (?), 22:39, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Типичный пример из геймдева - ECS. Любой уважающий себя ecs фреймворк умеющий в многопоточность автоматически понимает что и где можно параллелить потому-что сам выстраивает граф зависимостей систем и их компонент, но полноценно эту инфу можно собрать только в рантайме, но раст то требует гарантий в компайлтайм, а потому увы, иди-ка, дружок, подключай unsafe.
А теперь посмотри на bevy, где зависимости систем как раз выстраиваются из системы типов
&mut Health - система изменяет Health, такие системы нельзя запускать параллельно
&Health - система читает Health, такие можно
И это работает намного лучше и приятнее других ECS с которыми я работал
| | |
|
|
|
| 2.50, Человек обыкновенный (?), 11:18, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сейчас нейронки делают на Си то, ради чего руст придумали, и при этом с нулевыми затратами времени выполнения. Современные нейронки сделали старинный Си опять актуальным.
| | |
| |
| 3.56, Аноним (3), 13:12, 02/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если уж на то пошло, то к такому коду ты не можешь притронуться своей рукой, а то опять дырка получится. Понять его тоже не так просто бывает.
Вот и получается, что уже и не важно на чем написано, хоть на asm. Нейронка написала - нейронка будет рефакторить несколько версий спустя (версий самой нейронки).
| | |
| 3.62, Вася Пупкин (?), 14:52, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Согласен, в принципе Раст уже не нужен, пишешь на С а нейронки все проверят, сразу скажут где баги
| | |
| |
| |
| 5.68, Вася Пупкин (?), 18:10, 02/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Зачем вообще нужен Раст если есть С ???? Языку С уже более 50 лет, мало ИТ технологии так долго живут, С очень прост поэтому и выжил, Раст сложен
| | |
| |
| 6.80, Настоящий Вася Пупкин (?), 22:01, 02/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
С выжил потому что очень нужен был в свое время как переносимый ассемблер. Сейчас время прошло и люди переосознали многие подходы и практики. Плюс компьютеры стали куда мощнее и способны выполнять больше работы за людей(и надежнее). Кто это не осознает - самый настоящий луддит.
| | |
| |
| 7.115, Вася Пупкин (?), 16:07, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
В Паскале очень длинные keyword-ы, програмы получается громоздими
Пример:
Begin
End
В место
{
}
И это как минимум
| | |
|
|
|
| 4.79, Настоящий Вася Пупкин (?), 21:57, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
на расте токенов будет в 10ки раз меньше сжигаться, потому как более выразительно и больше контекста и ограничений на программу. плюс понятные хинты компилятора как править ошибки.
| | |
| |
| 5.84, Анимешник за 30 (-), 00:08, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Тем кто пишет коммерческий код наплевать на токены, за у них эксклюзивные соглашения с ai компаниями. Всякие васи пупкины со своими хеллоувротами никого не волнуют.
| | |
| |
| 6.96, Вася Пупкин (?), 10:15, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Разброс компаний колоссальный. Но даже весь крупнейший российский бигтех лимиты выставляет. Потому как там особенно хорошо умеют считать деньги
| | |
|
|
|
|
| |
| 3.92, Анон1110м (?), 09:47, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
И они будут подтормаживать, занимать много процессорноого времени и в некоторых случаях тянуть зависимостей на сотни мегабайт. Проверено за то время что я пользовался Linux. Deluge и Gajim там всякие.
| | |
|
|
| 1.29, Илья (??), 02:48, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как реализованы дженерики с структурами?
При каких условиях будет упаковка?
Столько неудобных вопросиков, на которые разработчики сишарпа отвечали ДО разработки языка
| | |
| |
| 2.108, zionist (ok), 12:42, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Как реализованы дженерики с структурами?
Скорее всего так же, как и прежде - как синтаксический сахар на этапе компиляции с type erasure в рантайме.
| | |
|
| 1.49, Смузихеб забывший пароль (?), 10:27, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"не имеют идентичности (в отличие от обычных объектов, два экземпляра с одинаковыми полями считаются равными)"
-Мы сделали максимально громоздко, сложно, зато типо секурно и теперь - да, срочно допиливаем чтобы было просто ведь сильно секурно не получилось )
| | |
| |
| 2.61, Вася Пупкин (?), 14:50, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Они с самого начала в языке, пример:
List list = new ArrayList();
list <----- это указатель на кусок ОЗУ в котором хранится непосредственно ArrayList
| | |
| |
| |
| 4.74, Аноним (74), 18:41, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Адресная арифметика? В жабе? Щитоблджад? На кой ляг оно там вообще надо?
| | |
|
|
| 2.88, Аноним (88), 05:11, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Чтобы можно было выходить за границы и делать всякие use after free вместе с double free?
| | |
|
| 1.63, Аноним (63), 15:22, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Скучаю по временам, когда меня волновали подобные изменения. Теперь против своей воли (чтобы меня рыночек не порешал) использую ии агент, и уже не думаю о таких мелочах. А хотелось бы как раньше
| | |
| |
| 2.109, zionist (ok), 12:44, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Вовремя я сбежал на TypeScript.
Чем этот костыль к богомерзскому JavaScript лучше?
| | |
|
| 1.81, Анимешник за 30 (-), 00:02, 03/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Чёт не вкуриваю, нафига это надо. Возможностей Java 8 выше крыши для любого проекта, а докинуть фич можно через сторонние либы. Лучше бы прокачивали саму жаву-машину, а не занимались всякой дичью.
| | |
| |
| 2.94, Аноним (93), 10:00, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Чтобы усложнить спеку, создать несовместимости и тд. Чистый EEE.
| | |
| 2.98, Вася Пупкин (?), 10:21, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Потому что не осознают что нейрокод на расте и простихоспади го - работает искаропки сильно быстрее. пытаются хоть тут не проиграть гонку. И по итогу вместо накопленных сбоку вот таких вот "фич" проще будет нативно на раст переходить
| | |
| 2.99, Анонимущий (?), 10:25, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Это и есть прокачка джава машины. Ты что, думаешь они новых ключевых слов накидали тупо, которые просто в тот же байткод будут компилироваться, без изменений в самой JVM?
| | |
|
| 1.87, хрю (?), 05:06, 03/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
бессмысленная для типичного применения явы фигня. во времена java me это имело смысл, а чичас нет.
| | |
| |
| 2.100, Анонимущий (?), 10:32, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
1) Это сильно ускорит работу всяческих алгоритмов-числодробилок, например, в финтех решениях.
2) Это сильно снизит уровень тормозов при работе с DTO и JDBC ResultSet-ами. На тех же ресурсах выдерживаемый RPS на эндпоинт будет выше.
3) Это здорово снизит аппетиты текущих сборщиков мусора, которые на шаге компактификации во всей хип-области переназначают указатели, когда занимаются дефрагментацией памяти.
| | |
| |
| 3.103, хрю (?), 11:39, 03/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> 1) Это сильно ускорит работу всяческих алгоритмов-числодробилок, например, в финтех решениях.
нет.
> 2) Это сильно снизит уровень тормозов при работе с DTO и JDBC
> ResultSet-ами. На тех же ресурсах выдерживаемый RPS на эндпоинт будет выше.
вообще нет.
> 3) Это здорово снизит аппетиты текущих сборщиков мусора, которые на шаге компактификации
> во всей хип-области переназначают указатели, когда занимаются дефрагментацией памяти.
нет.
не надо фантазий. запусти java приложение под профилятором и посмотри что кушает память, какие функции чаще всего вызываются и что больше всего дефрагментируется.
| | |
|
|
| |
| 2.101, Анонимущий (?), 10:43, 03/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
туда (в планах) будут упаковываться вообще все примитивы и вложенные value классы. Как в С/С++ - если одно из полей структуры - это другая структура, то при компиляции это в любом случае в плане memory layout развернется в плоскую структуру c косвенной адресацией полей формата "база + смещение".
| | |
|
| 1.116, nikodll (ok), 18:15, 03/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Это кстати открывает дорогу целому ряду проектов для включени в JVM, первым из которых думаю будет Vector API
| | |
| 1.118, BrainFucker (ok), 22:04, 03/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> в отличие от обычных объектов, два экземпляра с одинаковыми полями считаются равными)
А нельзя было просто добавить магический метод по аналогии с питоновским __eq__() и пусть разработчики сами решают как объекты их классов должны сравниваться?
| | |
|