|
2.10, Васян (?), 12:50, 17/09/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Виртуальные потоки позволяют писать производительный код синхронно, зачем усложнять код асинхронщиной.
| |
2.151, Хейтер (?), 10:21, 18/09/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
2014 год, Java 8:
----
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
// Asynchronous task
return "Hello";
});
future.thenApply(s -> s + " World").thenAccept(System.out::println);
2023 год, Java 21:
----
Thread.ofVirtual().start(() -> {
// Asynchronous task running on a virtual thread
});
| |
|
3.159, аролп5 (?), 13:14, 18/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
CompletableFuture в сложных конструкциях настолько страшный получается, что им не хочется пользоваться ))
| |
|
|
1.2, Аноним (2), 12:17, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Подскажите, Project Panama уже принят в какой-либо релиз, или заброшен? Понять не могу...
| |
|
|
3.156, Аноним (2), 11:44, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо за ответ!
Здорово, что попало в LTS, не терпится попробовать)
| |
|
|
1.3, Жироватт (ok), 12:27, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> использования профилей выполнения методов, полученных при прошлом запуске приложения
Т.е. при негомогенном использовании методов (когда у нас не "один сценарий использования на однородных данных на все запуски") есть возможность еще сильнее просадить качество оптимизаций?
> тестовая реализация API Vector, [...] API даёт возможность явно управлять векторизацией для параллельной обработки данных
А вот это годно
> Планировщик Shenandoah нацелен на сокращение времени остановок во время сборки мусора
Жаль, что без остановок оно вообще не умеет и уметь будет еще ой как не скоро.
> указание в конструкторах выражений перед вызовом super(...),
Даже стало интересно, в каких ситуациях прямо так необходимо выполнять что-то перед вызовом стека конструкторов предков
> Удалён код и сборочные сценарии для поддержки 32-разрядных систем x86
Вот оно, это ваше запланированное устаревание, а не все эти роухаммеры в шапочках из фольги. Для эмбеддеда придётся вкусные фишки получать из сторонних сборок, типа российского.
> Добавлен экспериментальный API StableValue [...] разделяет создание постоянных значений и их инициализацию, гарантирует, что значение может быть инициализировано только один раз, [...] позволяет применять в пользовательском коде оптимизации сворачивания констант
А что, до этого раньше догадаться было никак?
| |
|
2.6, Аноним (6), 12:36, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А вот это годно
Нет, это признание провала обещаний про "вы пишете высокоуровневый код, а оптимизатор сам всё сделает". Что дальше - ручное управление памятью?
На жаве пишут не те, кому нужно вручную смид юзать а те, кто не хочет про такие вещи вообще думать, типа питонистов и жаваскриптистов.
| |
|
3.11, Жироватт (ok), 12:57, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну, дать возможность переопределить и руками доопределить то, что javac там тебе наавтовекторизовал - на самом деле идея нормальная.
> Что дальше - ручное управление памятью?
Ну, pinned objects уже были, ЕМНИП в автоматическом режиме и они позволяли напрямую, без таблицы получать и маршаллить данные в нативном коде, но тогда сходил с ума гц. Дать программисту руками закрепить в куче объект и получить на него прямой указатель было бы на самом деле неплохо.
А описанные тобой персонажи даже не всегда смогут внятно расшифровать саму аббревиатуру, пока промт чатугопоте не вобьют.
| |
|
4.88, Аноним (6), 17:47, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да ну. Те, кому нужна производительность сделают на расте. Там не только всё уже есть, но и язык лучше, и прости господи эффективность по ресурсам которая у жавы всю жизнь была и есть на дне.
| |
|
5.133, Аноним (133), 22:57, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Там не только всё уже есть, но и язык лучше
Дальше можно не читать.
| |
|
|
|
2.7, Аноним (7), 12:38, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Главный прикол, что если чуть-чуть попало в своп, тебе конец буквально. Рекомендую трюк с mlockall -- очень экономит нервы. Только, нативный код может свопиться, и когда половина памяти процесса может спокойно лежать в свопе, и другая половина умирает от этого, получается не очень удобно.
| |
2.9, Аноним (9), 12:45, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Вот оно, это ваше запланированное устаревание, а не все эти роухаммеры в шапочках из фольги. Для эмбеддеда придётся вкусные фишки получать из сторонних сборок, типа российского.
Эмбеддед на 32-битном x86? Там, наверное, до сих пор на шестой яве сидят.
| |
|
3.14, Жироватт (ok), 13:02, 17/09/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ну почему?
Относительно свежие железки, на специально собранном ядре 6.14+, со свежими jvm от вендора не так давно щупал. Но проц там х86, тупо из-за стоимости партии, дешевле оказалось, чем ставить мипс или арм
| |
3.36, Аноним (36), 14:07, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> из сторонних сборок, типа российского
напомните, кто у нас занимается российскими сборками?
Либерику, просьба не упоминать, они заблокировали скачивание с российских адресов.
| |
|
4.154, Хейтер (?), 10:50, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>они заблокировали скачивание с российских адресов
- что-то я пропустил этот момент: BellSoft перешёл на тёмную сторону?
| |
|
5.167, Анонимъ (?), 01:11, 19/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Разделился на 2 бизнеса.
Что в РФ остался стал Axiom, а ушедшие забугор остались BellSoft
| |
|
|
|
2.157, Аноним (70), 11:46, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Даже стало интересно, в каких ситуациях прямо так необходимо выполнять что-то перед вызовом стека конструкторов предков
Когда нужно передать аргумент в констриктор предка, но перед этим его нужно провалидировать или сделать какую-нибудь трансформацию. В общем фича иногда позволит отказаться от методов-фабрик.
| |
|
1.4, Аноним (6), 12:31, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –8 +/– |
Я понял, что мне напоминает современная жава. C++. Продолжают городить какие-то надстройки, а язык остаётся кривым и косым. Надо было не надстройки городить, а язык с нуля перепредумывать когда 9-ую выпускали. Или ваще её похоронить и сказать юзайте котлин.
| |
|
2.5, Аноним (5), 12:36, 17/09/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
> юзайте котлин
Вендорлок, который фиг нормально установишь без их ide.
| |
|
|
4.30, Sserj (?), 13:41, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну пока его спонсирует гугл на своем анроиде точно не сдохнет.
В свежих AndroidStudio уже и нет возможности создавать новый Java проект. Только Kotlin оставили.
| |
|
5.40, Аноним (36), 14:20, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну, гугол свой андроид потихоньку окукливает до уровня иось, и судя по новостям, скоро запретит ставить пакеты не из своей копилки.
| |
|
|
|
|
1.8, Аноним (8), 12:45, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Самый дурацкий язык эвер. Например, в нем нельзя объявить переменную с типом "строка". Нет, String -- это "строка ИЛИ нулл". А вот "просто строка" -- нельзя. Так что везде, где ты работаешь со String, тебе приходится держать в голове, что он может быть нуллом. В нормальных языках такого нет. Даже в тайпскрипте string -- это реально только строка, без всяких неявных null | undefined. А еще в яве нет top type и bottom type. Нет, Object -- не top type, потому что он не покрывает примитивы. Нет, boxed types -- не примитивы. В общем, систему типов в яве уже не спасти.
| |
|
|
3.21, Аноним (8), 13:20, 17/09/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Попробуй объявить в яве переменную с типом "строка" -- такую, чтобы компилятор не давал присвоить ей нулл. А теперь послушаем твое отсутствие ответа и всяческие виляния:
| |
|
4.25, Аноним (25), 13:26, 17/09/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Главный вопрос - зачем? Твой код принципиально не умеет в нуль? Лови NPE!
| |
|
5.29, Аноним (8), 13:40, 17/09/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Функция, которая делает что-то со строкой, не должна проверять, что ей передали ... большой текст свёрнут, показать | |
|
6.38, Аноним (25), 14:14, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
А ты не передавай нуль в функцию, которая ожидает строку, иначе ява за тебя любезно кинет ошибку.
| |
|
7.42, Аноним (8), 14:34, 17/09/2025 [^] [^^] [^^^] [ответить] | +2 +/– | Вот именно, что ява кинет ошибку лишь в рантайме А должна была в компайл-тайме ... большой текст свёрнут, показать | |
|
|
9.49, Аноним (8), 15:04, 17/09/2025 [^] [^^] [^^^] [ответить] | +/– | Линтер-шминтер Это задача языка следить за типами, а не стороннего линтера, кот... текст свёрнут, показать | |
|
8.122, Аноним (122), 21:39, 17/09/2025 [^] [^^] [^^^] [ответить] | –1 +/– | Компилятор должен это проверять При каждом обращение к строке Вы просто не пра... текст свёрнут, показать | |
|
9.125, Аноним (8), 21:58, 17/09/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Смотри, объясняю для особо одаренных проверить на этапе компайла означает, что ... большой текст свёрнут, показать | |
|
10.139, Аноним (122), 00:42, 18/09/2025 [^] [^^] [^^^] [ответить] | +/– | Вы рассчитываете на идеальную машину выполнения , где есть только ваша программ... большой текст свёрнут, показать | |
|
|
|
|
|
5.107, Аноним (107), 19:18, 17/09/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Пока есть такие как вы, я спокоен за своё рабочее место. Пожалуйста, ничему не учитесь и оставайтесь собой, на вашем фоне мы выглядим богами и получаем кучу денег.
| |
|
4.72, Аноним (122), 16:54, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Не понимаю Вас. String это класс, а не ячейки памяти. У класса есть методы, работы с данными типа String и их нельзя "натравить на адрес памяти". Null это отсутствие объекта. Кроме того объект может в любой момент быть перемещен в памяти при изменение - это новый объект. Это основы объектного программирования. Хорошая практика проверять ссылку на наличие объекта.
| |
|
5.108, Аноним (8), 19:19, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Хорошая практика проверять ссылку на наличие объекта
Хорошая практика -- перенести такие проверки в компайл-тайм. Если твоя парадигма такое не позволяет, то получаем тормозной софт, где все проверяется в рантайме. Впрочем, явистов тормозами не напугать, уже привымкши.
| |
|
6.113, Аноним (46), 20:11, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Смешно, то ли дело котлин с a?.b?.c?.d? и так несколько раз, когда надо-то было только a проверить единожды.
| |
6.118, Аноним (122), 20:51, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Хорошая практика -- перенести такие проверки в компайл-тайм.
Это как? А если объект "динамический". Запросил ты у ОС память под буфер, как компилятор узнает и проверит это (если ты не написал исключение, и нет "общеругательного" исключения или просто ОС снимает приложение за оговоренные исключения). Приложение решило открыть файл - кто сказал что он существует. откуда компилятор это должен знать и под какую ОС писать выворачивание их этой ситуации компилятору?
| |
|
7.119, Аноним (122), 20:56, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
В лучшем случае будет test rax,rax (проверка на ноль) je preexit. если компилятору объяснить что это адрес.
| |
7.124, Аноним (8), 21:48, 17/09/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Ну ты серьезно сейчас Совсем не выбираешься из ява-мирка Перечитай вопрос что ... большой текст свёрнут, показать | |
|
8.138, Аноним (122), 00:11, 18/09/2025 [^] [^^] [^^^] [ответить] | +/– | Так это Вы утверждали, что проверить исключение рантайм должен по-хорошему компи... большой текст свёрнут, показать | |
|
|
|
5.114, Аноним (46), 20:14, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вот и выросло поколение вкатунов, не знающих устройство ЭВМ. Все не примитивные типы в яве - это указатели на память. Когда передаёшь string куда-то - то передаётся только указатель, сама строка никуда не копируется при этом.
| |
|
6.116, Аноним (122), 20:41, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Где я сказал, что объект типа строка передается по значению?
Где я сказал что строка передается не как адрес? Вот только то что рядом с этим адресом должно иметь, ожидаемую методом или функцией, структуру.
Только не указатель, а ссылка. Это известно. Объект - структура по определенному адресу с полями и vtable. Ссылка передается неявно методу, который знает как работать с этой структурой (чаще через регистр RCX/ECX). Потом метод использует RCX для передаче ссылки другому методу, который вызывает. Код метода разных объекта одного класса не дублируется. Я оправдался перед вами?
| |
|
|
|
|
2.17, Аноним (46), 13:07, 17/09/2025 [^] [^^] [^^^] [ответить]
| –4 +/– |
> String -- это "строка ИЛИ нулл"
Зумерки потихоньку начинают осозновать как работает ПК.
| |
|
3.20, Аноним (25), 13:19, 17/09/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Обработать нуль могут не только лишь все. Мало кто может это делать.
| |
3.22, Аноним (8), 13:22, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Бумерки потихоньку продолжают не осознавать разницу между ЯП и машинным кодом. С их точки зрения, все, что возможно в машинном коде, должно быть возможно и в ЯП. Результат немного предсказуем: тысячи и тысячи CVE в софте на одном известном языке. И это лишь за один год!
| |
|
4.31, Аноним (31), 13:44, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Благодаря этому у тебя есть ОС и какое-то ПО которое умеет больше чем перекладывать джсоны. Удачи написать ОС на питоне или Яве, со всеми драйверами, видео и прочими требующими нормальной оптимизации вещами.
| |
|
5.41, Аноним (36), 14:24, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
спешу тебя огорчить:
JavaOS — микроядерная операционная система на базе Java, разработанная как фреймворк для кнопочных телефонов и первых смартфонов. В отличие от большинства практических операционных систем, которые написаны на Си, JavaOS полностью написана на Java: от ядра до графической и оконной системы, реализующей AWT API.
| |
|
6.43, Аноним (46), 14:34, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> спешу
Поспешишь - людей насмешишь. "Первый выпуск 1996. В 1999 году Sun и IBM объявили о закрытии проекта." Ой, что-то пошло не так?)
| |
6.64, Аноним (-), 16:08, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>JavaOS полностью написана на Java: от ядра до
Согласно законам физики ядро и иные системные части пишутся на ассемблере и Си. Код Жабы выполняется на виртуальной машине.
Что и требовалось доказать.
| |
6.74, SKZ (?), 16:58, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
У JVM нет доступа к регистрам CPU, не говоря уже об адресах памяти. Все такие прожекты без исключения - ядро на C с ассемблером, и JVM поверх него.
| |
|
|
|
|
2.66, Аноним (70), 16:10, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
А почему разговор только про строки? Это нулсейфти которого пока нет в java, в новых языках ифномрацию о нулабилити добавляют прямо в тип, таки да, это удобно. В java обещают когда-нибудь сделать с сохранением миграционной совместимости. Но пока во всех языках коим более 25 лет такого нет.
В жабе вообще много чего нет, нет перезагрузки операторов, нет каррирования, недавно не было деструктурнига, теперь какой-то есть у record классов, но синтаксически выглядит так себе.
Вообще если языка сильно переделать то это уже будет не java, кому нужен современный язык на JVM выбирают Kotlin. Тем более сейчас jetbrains допиливает lsp server и тогда можно будет с их языком работать практически из любой ide.
| |
|
3.71, Аноним (70), 16:51, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Кстати, еще не хватает дефолтных значений аргументов методов, и сопоставление аргументов по имени. Brian Goetz пообещал что этого никогда не будет в java :)
А вот по поводу перегрузки типов он пообещал в будущем сделать что-то, он думает ввести алгебраические типы позаимствовав идеи из функциональных языков. Но это уже будет после value class, одно за другое цепляется.
| |
|
4.86, Аноним (122), 17:39, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Идет в ногу с трэндом. Всем надоели индивидуальные кнопочки и разные рюшечки. Требуются молотилку цифр. Только это не площадка jvm. Для "удивить java программистов скачком производительности" пойдет.
| |
|
5.99, Аноним (70), 18:36, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это обещают с value class, пока они в preview. Value class + vector api и жаба магическим способом превращается в числодробилку. Но это пока в теории.
| |
|
|
3.84, Аноним (84), 17:35, 17/09/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Эпопея с нуллами в строках крутится вокруг ровно одного факта — в БД (и сиквеле) нуллы в строках есть. Всё.
Лучшее, что можно попытаться сделать — кастовать их к String.Empty или около того. Как оно по производительности будет — не знаю, но противники будут.
Полностью от нуллов нельзя избавиться (как и от undefined в динамических языках).
| |
|
4.168, Чтото знающий (?), 01:26, 19/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Причём здесь базы данных? Джава - это язык программирования общего назначения, а не DSL. Он не должен ориентироваться на сторонние продукты.
| |
|
|
2.117, уп (?), 20:44, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
"даже в тайпскрипте". Ну ты и сказанул. Тайпскрипт это весьма хорошо спроектированный язык, с учётом того, что компилируется в жс, даром что Андерс Хейлсберг создавал.
| |
2.135, Аноним (127), 23:11, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>в нем нельзя объявить переменную с типом "строка"
Да, в Java нет встроенного типа "строка". (Как и в C и C++). Ну и что? Есть же объект String
| |
|
1.13, zionist (ok), 13:01, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Скажите, а пришедший ещё в Java 9 JPMS (модульность) кто нибудь реально использует в своих проектах? А без Ломбока и Спринг Бута кто-то ещё на Джаве программирует?
| |
|
|
3.158, zionist (ok), 12:02, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Эта модульность нафиг была не нужна.
На самом деле была нужна, но с версионированием - для разрешения конфликтов в транзитивных зависимостях. В версионирование они не смогли, хотя этот долгострой делали около десяти лет! В итоговом виде оно действительно никому нафиг не нужно. Я уже год как ушёл с Java на Go и тут конфликты версий решаются удивительно просто.
| |
|
2.89, Аноним (6), 17:51, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Я ещё ни разу не видел, что бы кто-то эти модули юзал. Прогаю на жаве с версии 1.4.
| |
|
3.162, Аноним (162), 16:31, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Мы используем при написании библиотек и если на проекте гексагональная архитектура, чтобы явно лишить возможности тянуть код адаптеров в модуль доменной логики.
| |
|
|
1.26, Аноним (-), 13:29, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
10 лет назад писал код на Жабе. При компиляции всё время не компилировался показывал какую-то ошибку. Как только код завернул в блок исключения. Так код сразу скомпилировался.
Такая куита ещё осталась. Вы всё время свой код оборачиваете в блок исключений. Ваш код на 10% состоит из исключений.
| |
|
2.28, Аноним (28), 13:34, 17/09/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
> какую-то
В этот и состоит Ваша проблема. Не языка, а Ваша.
| |
|
|
|
5.85, Аноним (85), 17:39, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Но недостаточно, до уровня Brainfuck ещё не упрощён, недоработка.
Вот ножовка — казалось бы, проще не придумаешь. Но сцуко электропилой работать гораздо удобнее.
| |
|
|
|
|
3.95, Илья (??), 18:18, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
В джаве известные проблемы с неправильно спроектированнымми исключениями.
| |
|
4.163, BeLord (ok), 17:22, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> В джаве известные проблемы с неправильно спроектированнымми исключениями.
И это повод не пользоваться исключениями? Я просто мысль до конца не понял. Так-то и в процессорах ошибки встречаются, но ими же пользуются, а не считают на счетах-)
| |
|
|
2.129, Аноним (127), 22:49, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>При компиляции всё время не компилировался показывал какую-то ошибку.
Это фича Джавы - обязательная обработка всех возможных исключений.
| |
|
3.160, eugener (ok), 13:51, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> обязательная обработка всех возможных исключений
не всех, а только checked. Есть и unchecked (RuntimeException и производные).
| |
|
|
|
2.50, Sserj (?), 15:09, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Сама по себе Java хороша. И она реально быстрая.
Другой вопрос что она потонула в корпоративном овнище где пишут "для резюме" обклаываясь интерфейсами, проксями, паттернами ради паттернов а не реальной необходимости.
И когда jmv приходится продираться сквозь сотни прослоек виртуальных интерфейсов (их реально сотни, достаточно глянуть стек-трейс в реальных приложениях) все вложенные усилия в оптимизацию идут лесом.
| |
|
3.55, Аноним (55), 15:34, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Сама по себе Java хороша. И она реально быстрая.
Сама по себе быстрая, да. А вот реализации её виртуальной машины медленные и жручие.
Ява обладает высокой производительностью. Под "высокой" мы понимаем достаточную. Под "достаточной" - низкую.
| |
|
4.58, Аноним (18), 15:39, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
По сравнению с пыхом или руби с пистоном - джава супер производительный язычок!
| |
|
5.67, Аноним (7), 16:12, 17/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да совершенно на одном уровне они. Вопрос не в производительности, у жавы всегда тонны дохлого легаси с уязвимостями.
| |
|
6.128, Аноним (128), 22:44, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Пишу на флаттере. Легаси мало, но через пару лет программа перестает собираться: старые библиотеки не работают в новом sdk. Новые библиотеки в старом sdk.
| |
|
|
4.77, Аноним (122), 17:06, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
В английском на этот случай есть слово pretty в функции наречия - достаточно, приемлемо.
Java is Pretty quick.
Степень быстроты не обсуждается, а каждый подразумевает свою.
| |
4.142, Аноним (142), 03:36, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Сама по себе быстрая, да. А вот реализации её виртуальной машины медленные и жручие.
Смотрю как код на яве обрабатывает ~400 qps на трёхстах мегах рам и не вижу тормозов. Упирается в I/O сетевых интерфейсов, и хоть ты тресни. Как так?
| |
|
3.91, Аноним (6), 17:57, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Сама по себе Java хороша. И она реально быстрая.
Так обычно рассуждают те, кто быстрее ничего в жизни не видел. Ну как мне коллега сегодня сказал, что с новым редизайном микросервиса, который клюя значение в базу кладёт теперь сможет даже что раз в секунду это делать. Я с вас, жаверов, просто х-ю порой.
| |
|
4.155, Аноним (162), 10:53, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Твой коллега криворукий просто. Джавка жирная и любит кушать heap, но у нее за 30 лет JIT компилятор научился оптимизировать генерируемый машинный код не хуже чем gcc/clang делают это для С++. Есть проблемы с числодробильными задачами, завязанными на CPU, но джавка всегда была преимущественно языком бэкенда, где основные причины тормозов - это сетевое IO. А скорости эффективно JSON нарезать и лазить в БД у нее за глаза, особенно когда сервис поработает в проде пару часов и основная бизнес-логика откомпилируется JIT-ом и закэшируется в виде готовых blob-ов в машинных кодах.
| |
|
|
2.98, Аноним (98), 18:34, 17/09/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Меня, как человека, который только чуть-чуть потрогал Java, с души воротит с языка, в котором встречаются типы
- const static
- static final
- const static final
Не понимаю, зачем такое городить?! Но я не программист, может тут и правда есть какой-то сакральный смысл.
| |
|
3.123, Аноним (122), 21:45, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Скажу общё - если вы имеете дело с абстракцией, то всегда надо уточнять с какой конкретно.
А так, отсылаю к документации.
| |
3.131, Аноним (127), 22:53, 17/09/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В жаве нет const.
Нет есть. Ключевое слово const зарезервировано, но ничего не означает.
| |
|
|
1.56, Аноним (55), 15:36, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ждём, когда будет предложен компактный вариант оформления программ, в котором не требуется определение лишних классов и методов, автоматически импортируются типовые API и доступны упрощённые методы ввода/вывода. Например, приложение "Hello, World!" можно будет свести к
IO.println("Hello, World!");
| |
1.80, Джозеф (?), 17:19, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Чет я не понял, а кто жаву у Ларри счас готовит, он-же вроде всех проггеров, кто не с базой, прогнал. Или я че-то путаю?
| |
|
|
|
4.164, Аноним (164), 22:03, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Илона он уже обогнал:
"В сентябре 2025 г Ларри Эллисон впервые стал самым богатым человеком в мире, положив конец почти годичному правлению Илона Маска на первом месте"
| |
|
|
|
1.82, Аноним (84), 17:28, 17/09/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Унылейшие язык и рантайм, извечно отстающий на десятилетие даже от достаточно консервативного сишарпа. Сколько лет понадобилось, чтобы генерики не паковались в object? Это же шиза.
Не умер только благодаря ведроиду, но с одной стороны всех переводят в /*котёл*/ котлин, а с другой азиаты по чуть-чуть уходят в хуавеевский кандзи.
| |
|
2.97, Илья (??), 18:23, 17/09/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Сколько лет понадобилось, чтобы генерики не паковались в object?
Воз и ныне там. Дженерики в джаве невозможно переделать ввиду ограничений jvm.
В 202к5 коду брать джаву не имеет смысла, дотнет открытый и в целом лучше
| |
|
3.137, Аноним (162), 23:46, 17/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
Гугли Project Valhalla, где собираются релизнуть value классы и специализацию дженериков примитивами.
Долгострой ппц, но когда релизнут, все джависты побегут открывать шампанское, так как в языке снизится до минимума pointer chasing, фрагментация кучи и количество cache miss.
| |
|
4.141, Аноним (141), 03:07, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Гугли Project Valhalla, где собираются релизнуть value классы и специализацию дженериков
> примитивами.
Да как бы поздно уже. Все, кто хотел производительности пересели либо на c++/GO/rust, либо на c# как наиболее совместимую альтернативу
| |
|
5.152, Аноним (162), 10:44, 18/09/2025 [^] [^^] [^^^] [ответить] | +/– | Ну, если говорить про РФ, то с банков а это главный российский кровавый ынтерпр... большой текст свёрнут, показать | |
|
6.161, IMBird (ok), 15:06, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>то сервис, держащий 50K RPS в один инстанс - не проблема
Звучит как типовая задача для Erlang
| |
|
|
|
|
|
|
2.147, Аноним (147), 08:33, 18/09/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Лучше бы поддержку 32 битов вернули.
Зачем? Для некрожелеза и некроjava сойдёт.
| |
2.153, Хейтер (?), 10:47, 18/09/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Лучше бы поддержку 32 битов вернули
- скоро не останется ОС на которых такое будет работать
| |
|
|