The OpenNET Project / Index page

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



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

"Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от opennews (??), 17-Сен-25, 12:16 
После шести месяцев разработки компания Oracle опубликовала платформу Java SE 25 (Java Platform, Standard Edition 24), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в  Java SE 25 сохранена  обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии.  Готовые для установки сборки Java SE 25 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java SE 25 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами...

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

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

Оглавление

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


1. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –5 +/
Сообщение от Аноним (1), 17-Сен-25, 12:16 
Асинхроньщину уже завезли?
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +3 +/
Сообщение от Васян (?), 17-Сен-25, 12:50 
Виртуальные потоки позволяют писать производительный код синхронно, зачем усложнять код асинхронщиной.
Ответить | Правка | Наверх | Cообщить модератору

151. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +4 +/
Сообщение от Хейтер (?), 18-Сен-25, 10:21 
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
});

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

159. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от аролп5 (?), 18-Сен-25, 13:14 
CompletableFuture в сложных конструкциях настолько страшный получается, что им не хочется пользоваться ))
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (2), 17-Сен-25, 12:17 
Подскажите, Project Panama уже принят в какой-либо релиз, или заброшен? Понять не могу...
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (70), 17-Сен-25, 16:39 
JEP 454: Foreign Function зарелизился в JDK 22 - https://openjdk.org/jeps/454

Vector API все еще ждет в инкубаторе, кажись они хотят его выкатить вместе с value классами.

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

156. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (2), 18-Сен-25, 11:44 
Спасибо за ответ!
Здорово, что попало в LTS, не терпится попробовать)
Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Жироватт (ok), 17-Сен-25, 12:27 
> использования профилей выполнения методов, полученных при прошлом запуске приложения

Т.е. при негомогенном использовании методов (когда у нас не "один сценарий использования на однородных данных на все запуски") есть возможность еще сильнее просадить качество оптимизаций?

>  тестовая реализация API Vector, [...] API даёт возможность явно управлять векторизацией для параллельной обработки данных

А вот это годно

> Планировщик Shenandoah нацелен на сокращение времени остановок во время сборки мусора

Жаль, что без остановок оно вообще не умеет и уметь будет еще ой как не скоро.

> указание в конструкторах выражений перед вызовом super(...),

Даже стало интересно, в каких ситуациях прямо так необходимо выполнять что-то перед вызовом стека конструкторов предков

> Удалён код и сборочные сценарии для поддержки 32-разрядных систем x86

Вот оно, это ваше запланированное устаревание, а не все эти роухаммеры в шапочках из фольги. Для эмбеддеда придётся вкусные фишки получать из сторонних сборок, типа российского.

> Добавлен экспериментальный API StableValue [...] разделяет создание постоянных значений и их инициализацию, гарантирует, что значение может быть инициализировано только один раз, [...] позволяет применять в пользовательском коде оптимизации сворачивания констант

А что, до этого раньше догадаться было никак?

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

6. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (6), 17-Сен-25, 12:36 
> А вот это годно

Нет, это признание провала обещаний про "вы пишете высокоуровневый код, а оптимизатор сам всё сделает". Что дальше - ручное управление памятью?

На жаве пишут не те, кому нужно вручную смид юзать а те, кто не хочет про такие вещи вообще думать, типа питонистов и жаваскриптистов.

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

11. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Жироватт (ok), 17-Сен-25, 12:57 
Ну, дать возможность переопределить и руками доопределить то, что javac там тебе наавтовекторизовал - на самом деле идея нормальная.
>  Что дальше - ручное управление памятью?

Ну, pinned objects уже были, ЕМНИП в автоматическом режиме и они позволяли напрямую, без таблицы получать и маршаллить данные в нативном коде, но тогда сходил с ума гц. Дать программисту руками закрепить в куче объект и получить на него прямой указатель было бы на самом деле неплохо.

А описанные тобой персонажи даже не всегда смогут внятно расшифровать саму аббревиатуру, пока промт чатугопоте не вобьют.

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

88. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (6), 17-Сен-25, 17:47 
Да ну. Те, кому нужна производительность сделают на расте. Там не только всё уже есть, но и язык лучше, и прости господи эффективность по ресурсам которая у жавы всю жизнь была и есть на дне.
Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (133), 17-Сен-25, 22:57 
> Там не только всё уже есть, но и язык лучше

Дальше можно не читать.

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

169. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Чтото знающий (?), 19-Сен-25, 01:28 
Как будто это то, что ты умеешь.
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (7), 17-Сен-25, 12:38 
Главный прикол, что если чуть-чуть попало в своп, тебе конец буквально. Рекомендую трюк с mlockall -- очень экономит нервы. Только, нативный код может свопиться, и когда половина памяти процесса может спокойно лежать в свопе, и другая половина умирает от этого, получается не очень удобно.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

9. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (9), 17-Сен-25, 12:45 
> Вот оно, это ваше запланированное устаревание, а не все эти роухаммеры в шапочках из фольги. Для эмбеддеда придётся вкусные фишки получать из сторонних сборок, типа российского.

Эмбеддед на 32-битном x86? Там, наверное, до сих пор на шестой яве сидят.

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

14. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +3 +/
Сообщение от Жироватт (ok), 17-Сен-25, 13:02 
Ну почему?
Относительно свежие железки, на специально собранном ядре 6.14+, со свежими jvm от вендора не так давно щупал. Но проц там х86, тупо из-за стоимости партии, дешевле оказалось, чем ставить мипс или арм
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (51), 17-Сен-25, 15:27 
Но 32 бита?
И повторюсь — Java 25 придёт туда… лет через 25.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (36), 17-Сен-25, 14:07 
> из сторонних сборок, типа российского

напомните, кто у нас занимается российскими сборками?
Либерику, просьба не упоминать, они заблокировали скачивание с российских адресов.

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

52. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Жироватт (ok), 17-Сен-25, 15:32 
Axiom JDK как минимум
Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (36), 17-Сен-25, 16:08 
похоже - и как "максимум", тоже.
Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (127), 17-Сен-25, 22:32 
https://lab50.net/gosjava/
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

154. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Хейтер (?), 18-Сен-25, 10:50 
>они заблокировали скачивание с российских адресов

- что-то я пропустил этот момент: BellSoft перешёл на тёмную сторону?

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

167. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Анонимъ (?), 19-Сен-25, 01:11 
Разделился на 2 бизнеса.
Что в РФ остался стал Axiom, а ушедшие забугор остались BellSoft
Ответить | Правка | Наверх | Cообщить модератору

157. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (70), 18-Сен-25, 11:46 
> Даже стало интересно, в каких ситуациях прямо так необходимо выполнять что-то перед вызовом стека конструкторов предков

Когда нужно передать аргумент в констриктор предка, но перед этим его нужно провалидировать или сделать какую-нибудь трансформацию. В общем фича иногда позволит отказаться от методов-фабрик.

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

4. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –8 +/
Сообщение от Аноним (6), 17-Сен-25, 12:31 
Я понял, что мне напоминает современная жава. C++. Продолжают городить какие-то надстройки, а язык остаётся кривым и косым. Надо было не надстройки городить, а язык с нуля перепредумывать когда 9-ую выпускали. Или ваще её похоронить и сказать юзайте котлин.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +7 +/
Сообщение от Аноним (5), 17-Сен-25, 12:36 
> юзайте котлин

Вендорлок, который фиг нормально установишь без их ide.

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

19. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Данные в так называемом поле Name (?), 17-Сен-25, 13:14 
Мне кажется Котлин сдохнет в ближайшей перспективе. Уже тысячи были более лучше жабы на JVM и где они все?
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Sserj (?), 17-Сен-25, 13:41 
Ну пока его спонсирует гугл на своем анроиде точно не сдохнет.
В свежих AndroidStudio уже и нет возможности создавать новый Java проект. Только Kotlin оставили.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (36), 17-Сен-25, 14:20 
Ну, гугол свой андроид потихоньку окукливает до уровня иось, и судя по новостям, скоро запретит ставить пакеты не из своей копилки.
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (8), 17-Сен-25, 12:45 
Самый дурацкий язык эвер. Например, в нем нельзя объявить переменную с типом "строка". Нет, String -- это "строка ИЛИ нулл". А вот "просто строка" -- нельзя. Так что везде, где ты работаешь со String, тебе приходится держать в голове, что он может быть нуллом. В нормальных языках такого нет. Даже в тайпскрипте string -- это реально только строка, без всяких неявных null | undefined. А еще в яве нет top type и bottom type. Нет, Object -- не top type, потому что он не покрывает примитивы. Нет, boxed types -- не примитивы. В общем, систему типов в яве уже не спасти.
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Жироватт (ok), 17-Сен-25, 13:04 
Слишком толсто, попробуй потоньше.
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (8), 17-Сен-25, 13:20 
Попробуй объявить в яве переменную с типом "строка" -- такую, чтобы компилятор не давал присвоить ей нулл. А теперь послушаем твое отсутствие ответа и всяческие виляния:
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (25), 17-Сен-25, 13:26 
Главный вопрос - зачем? Твой код принципиально не умеет в нуль? Лови NPE!
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (8), 17-Сен-25, 13:40 
Функция, которая делает что-то со строкой, не должна проверять, что ей передали один из двух вариантов. Иначе в рантайме приложение только и будет заниматься тем, что проверять переменные. В норм языках рантайм-проверки переносятся в компайл-тайм.

Задумайся сам над бредовостью: "я -- функция, которая вычисляет количество гласных букв в строке. Я принимаю либо строку, либо нулл! Если передали нулл, я... кхе-кхе... читай документацию в общем. На уровне ЯП я не могу тебе сообщить, что будет, если мне передадут нулл. Смотри явадоки!" В итоге контракт функции определен слабо. Может упадет, может нет. Надо лезть в реализацию и смотреть, как обрабатывается нулл. Либо читать явадоки, если они актуальные.

В норм языках: "я -- функция, которая вычисляет кол-во гласных букв в строке. Я принимаю строку". Все просто и понятно. Но именно в яве такое не выразить.

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

38. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (25), 17-Сен-25, 14:14 
А ты не передавай нуль в функцию, которая ожидает строку, иначе ява за тебя любезно кинет ошибку.
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (8), 17-Сен-25, 14:34 
Вот именно, что ява кинет ошибку лишь в рантайме. А должна была в компайл-тайме. Допустим, эта строка у тебя член класса. В какой-то момент, спустя полгода-год, когда ты уже напрочь позабыл о кодовой базе, тебе прилетела задача: член класса иногда должен хранить нулл. Ты внес правки, запустил -- вроде все работает (функция еще не вызвана). И тут, после выкатывания на прод, функция наконец-то запустилась, например по таймеру раз в неделю, и получила нулл. Будь компайл-тайм проверка, ты бы о проблеме узнал задолго до. Вывод: ЯП должен следить за ненуллабельностью на всех уровнях. Отсекать не только getVowelCount(null), но следить, что при getVowelCount(this.someString) этот самый this.someString никогда не бывает нуллом. Или что getVowelCount(this.someString) всегда оборачивается в if (this.someString != null). В норм языках такие проверки есть. В яве -- нет.
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Аноним (46), 17-Сен-25, 14:55 
Ну так добавь линтер в CI, делов-то. В яве есть @Nullabe и @NotNull если чо.
Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (8), 17-Сен-25, 15:04 
Линтер-шминтер. Это задача языка следить за типами, а не стороннего линтера, который можно и отключить.
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (36), 17-Сен-25, 16:05 
а ты не отключай!
Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (106), 17-Сен-25, 19:17 
Тебе шашечки или ехать? Если первое, то этот язык с богатейшей историей, библиотеками на все случаи жизни (включая довольно обскурные протоколы), литературой, и, главное, опытом разработки больших коммерческих систем тебе совершенно не подойдёт. Ищи в другом месте. Если второе, то за время которое ты потратил на нытьё в опеннете можно было включить в CI/CD линтер, поправить ошибки и занять чем-то более продуктивным.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

166. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Чтото знающий (?), 19-Сен-25, 01:09 
Мне ехать. По возможности, без всяких костылей. Я понимаю, что ты уже иначе не умеешь, но почему другие должны соглашаться с привычным для тебя кошмаром? Это был риторический вопрос.
Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (122), 17-Сен-25, 21:39 
> Вот именно, что ява кинет ошибку лишь в рантайме. А должна была
> в компайл-тайме.

Компилятор должен это проверять. При каждом обращение к строке? Вы просто не правильно поняли что такое строка в java. Я использую одну и ту же строку при переводе на 100 языков. Должен ли компилятор каждый проверять валидность строки? Функция вернула строку в качестве результата. Должен компилятор генерировать код проверки и где? Внутри вызванной функции или снаружи?  

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

125. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (8), 17-Сен-25, 21:58 
> Компилятор должен это проверять.

Смотри, объясняю для особо одаренных: проверить на этапе компайла означает, что проверка происходит ровно один раз, во время компиляции, на машине разработчика, компилирующего софт. На проде проверок нет вообще. Отсутствуют. Absent. Non-existent. Код в рантайме такой сразу без проверок: "это строка и точка, я верю, что там строка, не буду тратить такты на проверку". Вот что такое "компайл-тайм-проверка". В яве они отсутствуют напрочь, приходится в рантайме проверять либо вручную (явным ифом), либо как-то генерить ифы, но факт остается фактом: это уже "рантайм-проверка". Потому что код в рантайме такой: "ага, может быть нуллом, надо потратить такт и проверить". Итого, по-настоящему безопасные ява-проги безбожно тормозят. А по-настоящему безопасные НЕ-ява-программы с sum types -- летают.

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

126. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от ононем (?), 17-Сен-25, 22:24 
btw неа, не будет там лишних тактов на проверку на null. C2 повешает инвариант и поймает хардварным исключением если что-то что не должно быть null'ом им окажется. Он даже может выкинуть ручные проверки на null и, реконструировав стекфреймы, притвориться что они таки таи были и сработали, но сработали в реальности не они, а pagefault у цп. Да, его можно выбесить если таки часто засовывать null'ы в такую функцию, он выкинет инвариант и натыкает классических ифов, но тогда вы уже ссзб. И кардинально переделать систему типов уже никак не выйдет, не сломав вообще весь уже написанный java код, а его ой как дохрена и никто на такой самоубийственный шаг не пойдет.
Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (8), 17-Сен-25, 22:50 
> кардинально переделать систему типов уже никак не выйдет

Потому я и написал, что яву уже ничто не спасет.

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

139. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 18-Сен-25, 00:42 
Вы рассчитываете на "идеальную машину выполнения", где есть только ваша программа и бесконечная память. По факту, за Вас компилятор обращается к ОС, которая крутит множество потоков в ограниченной памяти, через системные вызовы, которые Вы в другом комментарии записали в "инструмент бога" (цитата - "ты хоть знаешь, что это такое?" - знаю и знаю что возможен отказ в предоставление ресурсов и надо анализировать возврат и что это требует больших затрат тех самых тактов, которые Вы считаете, потому что используется инструкция pusha/popa (затолкнуть/извлечь все общие регистры в стэк) два раза - до и после сискола)
Можно долго стекаться по древу знаний, но резюмируя скажу, что нормальными языки кажутся на огромном ресурсе. Вы как программист, извините, абстрактный. На системном уровне не программировали, скорее всего, если не знаете что в рантайме случается всякое.
Ответить | Правка | К родителю #125 | Наверх | Cообщить модератору

107. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Аноним (107), 17-Сен-25, 19:18 
Пока есть такие как вы, я спокоен за своё рабочее место. Пожалуйста, ничему не учитесь и оставайтесь собой, на вашем фоне мы выглядим богами и получаем кучу денег.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

72. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (122), 17-Сен-25, 16:54 
Не понимаю Вас. String это класс, а не ячейки памяти. У класса есть методы, работы с данными типа String и их нельзя "натравить на адрес памяти". Null это отсутствие объекта. Кроме того объект может в любой момент быть перемещен в памяти при изменение - это новый объект. Это основы объектного программирования. Хорошая практика проверять ссылку на наличие объекта.
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

108. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (8), 17-Сен-25, 19:19 
> Хорошая практика проверять ссылку на наличие объекта

Хорошая практика -- перенести такие проверки в компайл-тайм. Если твоя парадигма такое не позволяет, то получаем тормозной софт, где все проверяется в рантайме. Впрочем, явистов тормозами не напугать, уже привымкши.

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

113. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (46), 17-Сен-25, 20:11 
Смешно, то ли дело котлин с a?.b?.c?.d? и так несколько раз, когда надо-то было только a проверить единожды.
Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 20:51 
>Хорошая практика -- перенести такие проверки в компайл-тайм.

Это как? А если объект "динамический". Запросил ты у ОС память под буфер, как компилятор узнает и проверит это (если ты не написал исключение, и нет "общеругательного" исключения или просто ОС снимает приложение за оговоренные исключения). Приложение решило открыть файл - кто сказал что он существует. откуда компилятор это должен знать и под какую ОС писать выворачивание их этой ситуации компилятору?

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

119. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 20:56 
В лучшем случае будет test rax,rax (проверка на ноль) je preexit. если компилятору объяснить что это адрес.
Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (8), 17-Сен-25, 21:48 
> Это как?

Ну ты серьезно сейчас? Совсем не выбираешься из ява-мирка?

> Запросил ты у ОС память под буфер, как компилятор узнает и проверит это (...).

Перечитай вопрос что ли. "Как компилятор узнает и проверит"... что? Что именно здесь компилятор должен проверить?

> Приложение решило открыть файл - кто сказал что он существует. откуда компилятор это должен знать и под какую ОС писать выворачивание их этой ситуации компилятору?

Ты щас про яву или что? Потому что в яве будет стрельнуто исключение. А я говорю не про IO или сисколы (знаешь хоть что это такое?), а про обычную ситуацию: у тебя в стеке (который не надо malloc-ить!) лежит строка, но по канонам явы там лежит "либо строка, либо нулл". Ты сам положил туда строку, но максимум, что ява может тебе сказать, -- это то, что там "либо строка, либо нулл". Повторяю: в норм языках (которые ты явно не изучал) такое обрабатывается легко и просто. В яве -- нет. В яве чрезвычайно устаревшая парадигма из 90-ых. Хотя чёй-то я, sum types придумали задолго до. Но ява оказалась устаревшей еще в самом начале, прямо в момент своего появления.

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

138. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 18-Сен-25, 00:11 
> Перечитай вопрос что ли. "Как компилятор узнает и проверит"... что? Что именно
> здесь компилятор должен проверить?

Так это Вы утверждали, что проверить исключение рантайм должен по-хорошему компилятор, во время компиляции. Вы хитро перевернули тезис.

> А я говорю не про IO или сисколы (знаешь хоть
> что это такое?), а про обычную ситуацию: у тебя в стеке
> (который не надо malloc-ить!)

Вы создали объект класса стэк. Я думаю вы не имеете в виду стэк вызова функции, куда пихаются параметры когда их много. Вы не проверяете, удалось ли создать этот объект? Прямо в уверенности существования и используете? Тут неявно используется динамическое выделение памяти.

> лежит "либо строка, либо нулл".

Если Вы передали этот объект класса стэк в другую обработку, которая извлекает из стэка и помещает в стэк, то ручаться, что в стэк не затолкнули висячую ссылку нельзя. Если Вы сами поместили и тут же извлекли, то можно ручатся за сохранность, если ваш поток, единственный использующий этот стэк.

> Повторяю: в норм языках (которые ты явно
> не изучал) такое обрабатывается легко и просто.

Если не секрет, какие это языки. И априори утверждаете, что я их не изучал?

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

146. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (8), 18-Сен-25, 06:56 
> Так это Вы утверждали, что проверить исключение рантайм должен по-хорошему компилятор, во время компиляции.

Так очевидно же, что имелись в виду не IO, а ситуации, где гарантированно нет ошибок.

> Вы не проверяете, удалось ли создать этот объект?

Если памяти нет, ява тупо упадет. Но если строку создать удалось (удалось, Карл! вот она! создалась!), то ДАЖЕ после этого ява тебе будет продолжать говорить, что "либо строка, либо нулл". Чуешь разницу? Нету в яве такого, что "если памяти нет, то new Person() вернет null". Если памяти нет, ява усё.

> Если не секрет, какие это языки

Любые со строгой типизацией и sum types.

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

114. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (46), 17-Сен-25, 20:14 
Вот и выросло поколение вкатунов, не знающих устройство ЭВМ. Все не примитивные типы в яве - это указатели на память. Когда передаёшь string куда-то - то передаётся только указатель, сама строка никуда не копируется при этом.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

116. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 20:41 
Где я сказал, что объект типа строка передается по значению?
Где я сказал что строка передается не как адрес? Вот только то что рядом с этим адресом должно иметь, ожидаемую методом или функцией, структуру.
Только не указатель, а ссылка. Это известно. Объект - структура по определенному адресу с полями и vtable. Ссылка передается неявно методу, который знает как работать с этой структурой (чаще через регистр RCX/ECX). Потом метод использует RCX для передаче ссылки другому методу, который вызывает. Код метода разных объекта одного класса не дублируется. Я оправдался перед вами?

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

17. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –4 +/
Сообщение от Аноним (46), 17-Сен-25, 13:07 
> String -- это "строка ИЛИ нулл"

Зумерки потихоньку начинают осозновать как работает ПК.

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

20. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (25), 17-Сен-25, 13:19 
Обработать нуль могут не только лишь все. Мало кто может это делать.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (8), 17-Сен-25, 13:22 
Бумерки потихоньку продолжают не осознавать разницу между ЯП и машинным кодом. С их точки зрения, все, что возможно в машинном коде, должно быть возможно и в ЯП. Результат немного предсказуем: тысячи и тысячи CVE в софте на одном известном языке. И это лишь за один год!
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

31. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (31), 17-Сен-25, 13:44 
Благодаря этому у тебя есть ОС и какое-то ПО которое умеет больше чем перекладывать джсоны. Удачи написать ОС на питоне или Яве, со всеми драйверами, видео и прочими требующими нормальной оптимизации вещами.
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (36), 17-Сен-25, 14:24 
спешу тебя огорчить:
JavaOS — микроядерная операционная система на базе Java, разработанная как фреймворк для кнопочных телефонов и первых смартфонов. В отличие от большинства практических операционных систем, которые написаны на Си, JavaOS полностью написана на Java: от ядра до графической и оконной системы, реализующей AWT API.
Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (46), 17-Сен-25, 14:34 
> спешу

Поспешишь - людей насмешишь. "Первый выпуск 1996. В 1999 году Sun и IBM объявили о закрытии проекта." Ой, что-то пошло не так?)

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

62. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (36), 17-Сен-25, 16:02 
от этого оно что, перестало быть операционной системой?
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Аноним (122), 17-Сен-25, 17:18 
трудно назвать это ОС, если нет консолей и сетевого стэка.
Ответить | Правка | Наверх | Cообщить модератору

109. Скрыто модератором  +4 +/
Сообщение от Аноним (106), 17-Сен-25, 19:21 
Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (7), 17-Сен-25, 14:46 
Phantom OS пободрее.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

64. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (-), 17-Сен-25, 16:08 
>JavaOS полностью написана на Java: от ядра до

Согласно законам физики ядро и иные системные части пишутся на ассемблере и Си. Код Жабы выполняется на виртуальной машине.

Что и требовалось доказать.

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

74. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от SKZ (?), 17-Сен-25, 16:58 
У JVM нет доступа к регистрам CPU, не говоря уже об адресах памяти. Все такие прожекты без исключения - ядро на C с ассемблером, и JVM поверх него.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

81. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 17:20 
Со стороны это выглядело так: люди поработайте на мой патент.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

66. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (70), 17-Сен-25, 16:10 
А почему разговор только про строки? Это нулсейфти которого пока нет в java, в новых языках ифномрацию о нулабилити добавляют прямо в тип, таки да, это удобно. В java обещают когда-нибудь сделать с сохранением миграционной совместимости. Но пока во всех языках коим более 25 лет такого нет.
В жабе вообще много чего нет, нет перезагрузки операторов, нет каррирования, недавно не было деструктурнига, теперь какой-то есть у record классов, но синтаксически выглядит так себе.
Вообще если языка сильно переделать то это уже будет не java, кому нужен современный язык на JVM выбирают Kotlin. Тем более сейчас jetbrains допиливает lsp server и тогда можно будет с их языком работать практически из любой ide.  
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

71. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (70), 17-Сен-25, 16:51 
Кстати, еще не хватает дефолтных значений аргументов методов, и сопоставление аргументов по имени. Brian Goetz пообещал что этого никогда не будет в java :)  
А вот по поводу перегрузки типов он пообещал в будущем сделать что-то, он думает ввести алгебраические типы позаимствовав идеи из функциональных языков. Но это уже будет после value class, одно за другое цепляется.
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 17:39 
Идет в ногу с трэндом. Всем надоели индивидуальные кнопочки и разные рюшечки. Требуются молотилку цифр. Только это не площадка jvm. Для "удивить java программистов скачком производительности" пойдет.
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (70), 17-Сен-25, 18:36 
Это обещают с value class, пока они в preview. Value class + vector api и жаба магическим способом превращается в числодробилку. Но это пока в теории.
Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (84), 17-Сен-25, 17:35 
Эпопея с нуллами в строках крутится вокруг ровно одного факта — в БД (и сиквеле) нуллы в строках есть. Всё.
Лучшее, что можно попытаться сделать — кастовать их к String.Empty или около того. Как оно по производительности будет — не знаю, но противники будут.
Полностью от нуллов нельзя избавиться (как и от undefined в динамических языках).
Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

168. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Чтото знающий (?), 19-Сен-25, 01:26 
Причём здесь базы данных? Джава - это язык программирования общего назначения, а не DSL. Он не должен ориентироваться на сторонние продукты.
Ответить | Правка | Наверх | Cообщить модератору

117. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от уп (?), 17-Сен-25, 20:44 
"даже в тайпскрипте". Ну ты и сказанул. Тайпскрипт это весьма хорошо спроектированный язык, с учётом того, что компилируется в жс, даром что Андерс Хейлсберг создавал.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

121. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от SKZ (?), 17-Сен-25, 21:30 
>компилируется в жс

Каждый раз, как в первый

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

135. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (127), 17-Сен-25, 23:11 
>в нем нельзя объявить переменную с типом "строка"

Да, в Java нет встроенного типа "строка". (Как и в C и C++). Ну и что? Есть же объект String

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

12. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (25), 17-Сен-25, 12:58 
StableValue is nonsense
Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 17:41 
Это же что то должно охранять.
Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от zionist (ok), 17-Сен-25, 13:01 
Скажите, а пришедший ещё в Java 9 JPMS (модульность) кто нибудь реально использует в своих проектах? А без Ломбока и Спринг Бута кто-то ещё на Джаве программирует?
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Аноним (25), 17-Сен-25, 13:03 
Эта модульность нафиг была не нужна.
Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от zionist (ok), 18-Сен-25, 12:02 
> Эта модульность нафиг была не нужна.

На самом деле была нужна, но с версионированием - для разрешения конфликтов в транзитивных зависимостях. В версионирование они не смогли, хотя этот долгострой делали около десяти лет! В итоговом виде оно действительно никому нафиг не нужно. Я уже год как ушёл с Java на Go и тут конфликты версий решаются удивительно просто.

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

73. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от анон (?), 17-Сен-25, 16:55 
Да и да
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

89. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (6), 17-Сен-25, 17:51 
Я ещё ни разу не видел, что бы кто-то эти модули юзал. Прогаю на жаве с версии 1.4.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

162. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (162), 18-Сен-25, 16:31 
Мы используем при написании библиотек и если на проекте гексагональная архитектура, чтобы явно лишить возможности тянуть код адаптеров в модуль доменной логики.
Ответить | Правка | Наверх | Cообщить модератору

18. Скрыто модератором  –4 +/
Сообщение от Аноним (18), 17-Сен-25, 13:08 
Ответить | Правка | Наверх | Cообщить модератору

75. Скрыто модератором  +/
Сообщение от SKZ (?), 17-Сен-25, 16:59 
Ответить | Правка | Наверх | Cообщить модератору

90. Скрыто модератором  +/
Сообщение от Аноним (122), 17-Сен-25, 17:52 
Ответить | Правка | Наверх | Cообщить модератору

93. Скрыто модератором  +/
Сообщение от SKZ (?), 17-Сен-25, 18:01 
Ответить | Правка | Наверх | Cообщить модератору

101. Скрыто модератором  +/
Сообщение от Аноним (122), 17-Сен-25, 18:53 
Ответить | Правка | Наверх | Cообщить модератору

102. Скрыто модератором  +/
Сообщение от Аноним (122), 17-Сен-25, 19:06 
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

112. Скрыто модератором  +/
Сообщение от SKZ (?), 17-Сен-25, 19:52 
Ответить | Правка | Наверх | Cообщить модератору

115. Скрыто модератором  +/
Сообщение от Аноним (122), 17-Сен-25, 20:21 
Ответить | Правка | Наверх | Cообщить модератору

76. Скрыто модератором  +1 +/
Сообщение от Ann (??), 17-Сен-25, 17:02 
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

110. Скрыто модератором  +/
Сообщение от Аноним (18), 17-Сен-25, 19:44 
Ответить | Правка | Наверх | Cообщить модератору

94. Скрыто модератором  +1 +/
Сообщение от Илья (??), 17-Сен-25, 18:15 
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

111. Скрыто модератором  +1 +/
Сообщение от Аноним (18), 17-Сен-25, 19:48 
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –5 +/
Сообщение от Аноним (-), 17-Сен-25, 13:29 
10 лет назад писал код на Жабе. При компиляции всё время не компилировался показывал какую-то ошибку. Как только код завернул в блок исключения. Так код сразу скомпилировался.

Такая куита ещё осталась. Вы всё время свой код оборачиваете в блок исключений. Ваш код на 10% состоит из исключений.

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

28. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +3 +/
Сообщение от Аноним (28), 17-Сен-25, 13:34 
> какую-то

В этот и состоит Ваша проблема. Не языка, а Ваша.

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

34. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Аноним (34), 17-Сен-25, 14:02 
Если усложнять ради усложнения, то получится Си.
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +3 +/
Сообщение от Аноним (25), 17-Сен-25, 14:05 
Си как раз максимально упрощен.
Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (-), 17-Сен-25, 15:58 
Он перепутал C++ с чистым Си.
Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (85), 17-Сен-25, 17:39 
Но недостаточно, до уровня Brainfuck ещё не упрощён, недоработка.
Вот ножовка — казалось бы, проще не придумаешь. Но сцуко электропилой работать гораздо удобнее.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

33. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от BeLord (ok), 17-Сен-25, 14:01 
Ну и чем вам исключения не угодили?
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

39. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (25), 17-Сен-25, 14:15 
Ему они неинтересны, это проблема пользователя.
Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Илья (??), 17-Сен-25, 18:18 
В джаве известные проблемы с неправильно спроектированнымми исключениями.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

163. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от BeLord (ok), 18-Сен-25, 17:22 
> В джаве известные проблемы с неправильно спроектированнымми исключениями.

И это повод не пользоваться исключениями? Я просто мысль до конца не понял. Так-то и в процессорах ошибки встречаются, но ими же пользуются,  а не считают на счетах-)

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

47. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +3 +/
Сообщение от Аноним (47), 17-Сен-25, 14:55 
скилбоксовский?
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

59. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (-), 17-Сен-25, 15:58 
Нет рабочий.
Ответить | Правка | Наверх | Cообщить модератору

129. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (127), 17-Сен-25, 22:49 
>При компиляции всё время не компилировался показывал какую-то ошибку.

Это фича Джавы - обязательная обработка всех возможных исключений.

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

160. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от eugener (ok), 18-Сен-25, 13:51 
> обязательная обработка всех возможных исключений

не всех, а только checked. Есть и unchecked (RuntimeException и производные).

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

44. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Diozan (ok), 17-Сен-25, 14:42 
Хорош ли Java, как язык программирования? Лучше ли, чем Python?
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Sserj (?), 17-Сен-25, 15:09 
Сама по себе Java хороша. И она реально быстрая.
Другой вопрос что она потонула в корпоративном овнище где пишут "для резюме" обклаываясь интерфейсами, проксями, паттернами ради паттернов а не реальной необходимости.
И когда jmv приходится продираться сквозь сотни прослоек виртуальных интерфейсов (их реально сотни, достаточно глянуть стек-трейс в реальных приложениях) все вложенные усилия в оптимизацию идут лесом.
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (55), 17-Сен-25, 15:34 
> Сама по себе Java хороша. И она реально быстрая.

Сама по себе быстрая, да. А вот реализации её виртуальной машины медленные и жручие.

Ява обладает высокой производительностью. Под "высокой" мы понимаем достаточную. Под "достаточной" - низкую.

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

58. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (18), 17-Сен-25, 15:39 
По сравнению с пыхом или руби с пистоном - джава супер производительный язычок!
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (7), 17-Сен-25, 16:12 
Да совершенно на одном уровне они. Вопрос не в производительности, у жавы всегда тонны дохлого легаси с уязвимостями.
Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (128), 17-Сен-25, 22:44 
Пишу на флаттере. Легаси мало, но через пару лет программа перестает собираться: старые библиотеки не работают в новом sdk. Новые библиотеки в старом sdk.
Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (-), 18-Сен-25, 05:48 
А ты будь моднее.
Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 17:06 
В английском на этот случай есть слово pretty в функции наречия - достаточно, приемлемо.
Java is Pretty quick.
Степень быстроты не обсуждается, а каждый подразумевает свою.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

142. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (142), 18-Сен-25, 03:36 
> Сама по себе быстрая, да. А вот реализации её виртуальной машины медленные и жручие.

Смотрю как код на яве обрабатывает ~400 qps на трёхстах мегах рам и не вижу тормозов. Упирается в I/O сетевых интерфейсов, и хоть ты тресни. Как так?

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

91. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (6), 17-Сен-25, 17:57 
> Сама по себе Java хороша. И она реально быстрая.

Так обычно рассуждают те, кто быстрее ничего в жизни не видел. Ну как мне коллега сегодня сказал, что с новым редизайном микросервиса, который клюя значение в базу кладёт теперь сможет даже что раз в секунду это делать. Я с вас, жаверов, просто х-ю порой.

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

155. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (162), 18-Сен-25, 10:53 
Твой коллега криворукий просто. Джавка жирная и любит кушать heap, но у нее за 30 лет JIT компилятор научился оптимизировать генерируемый машинный код не хуже чем gcc/clang делают это для С++. Есть проблемы с числодробильными задачами, завязанными на CPU, но джавка всегда была преимущественно языком бэкенда, где основные причины тормозов - это сетевое IO. А скорости эффективно JSON нарезать и лазить в БД у нее за глаза, особенно когда сервис поработает в проде пару часов и основная бизнес-логика откомпилируется JIT-ом и закэшируется в виде готовых blob-ов в машинных кодах.
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (51), 17-Сен-25, 15:37 
Что лучше? Арбуз или колбаса?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

98. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –2 +/
Сообщение от Аноним (98), 17-Сен-25, 18:34 
Меня, как человека, который только чуть-чуть потрогал Java, с души воротит с языка, в котором встречаются типы
- const static
- static final
- const static final
Не понимаю, зачем такое городить?! Но я не программист, может тут и правда есть какой-то сакральный смысл.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

104. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Аноним (107), 17-Сен-25, 19:10 
Ты и правда не программист. В жаве нет const.
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 21:45 
Скажу общё - если вы имеете дело с абстракцией, то всегда надо уточнять с какой конкретно.
А так, отсылаю к документации.
Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

131. "Выпуск Java SE 25 LTS и OpenJDK 25 "  –1 +/
Сообщение от Аноним (127), 17-Сен-25, 22:53 
> В жаве нет const.

Нет есть. Ключевое слово const зарезервировано, но ничего не означает.

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

105. Скрыто модератором  +1 +/
Сообщение от Аноним (107), 17-Сен-25, 19:13 
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

56. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (55), 17-Сен-25, 15:36 
Ждём, когда будет предложен компактный вариант оформления программ, в котором не требуется определение лишних классов и методов, автоматически импортируются типовые API и доступны упрощённые методы ввода/вывода. Например, приложение "Hello, World!" можно будет свести к
IO.println("Hello, World!");

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

69. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (-), 17-Сен-25, 16:22 
echo "Hello world"

bash смотрит на тебя с недоумением.

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

78. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 17:09 
Как это куда-нибудь поместить. Ваши строки не Вселенная.
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

83. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +5 +/
Сообщение от Аноним (84), 17-Сен-25, 17:29 
Оберон что ли?
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

132. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (127), 17-Сен-25, 22:56 
jshell> System.out.println("Hello, World!");
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

80. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Джозеф (?), 17-Сен-25, 17:19 
Чет я не понял, а кто жаву у Ларри счас готовит, он-же вроде всех проггеров, кто не с базой, прогнал. Или я че-то путаю?
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (127), 17-Сен-25, 22:58 
Вроде как Ларри сам уже ушёл из Оракла
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Джозеф (?), 18-Сен-25, 08:41 
Да, ну?! Вот это поворот. А кто-ж теперь вместо него, Илон?
Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (164), 18-Сен-25, 22:03 
Илона он уже обогнал:
"В сентябре 2025 г Ларри Эллисон впервые стал самым богатым человеком в мире, положив конец почти годичному правлению Илона Маска на первом месте"
Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +7 +/
Сообщение от Аноним (84), 17-Сен-25, 17:28 
Унылейшие язык и рантайм, извечно отстающий на десятилетие даже от достаточно консервативного сишарпа. Сколько лет понадобилось, чтобы генерики не паковались в object? Это же шиза.
Не умер только благодаря ведроиду, но с одной стороны всех переводят в /*котёл*/ котлин, а с другой азиаты по чуть-чуть уходят в хуавеевский кандзи.
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +2 +/
Сообщение от Илья (??), 17-Сен-25, 18:23 
> Сколько лет понадобилось, чтобы генерики не паковались в object?

Воз и ныне там. Дженерики в джаве невозможно переделать ввиду ограничений jvm.

В 202к5 коду брать джаву не имеет смысла, дотнет открытый и в целом лучше

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

103. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (107), 17-Сен-25, 19:09 
Да и дотнет не имеет смысла брать тоже. Это всё легаси языки.
Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (122), 17-Сен-25, 21:06 
>дотнет открытый и в целом лучше

А приятно ломается... )

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

137. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (162), 17-Сен-25, 23:46 
Гугли Project Valhalla, где собираются релизнуть value классы и специализацию дженериков примитивами.
Долгострой ппц, но когда релизнут, все джависты побегут открывать шампанское, так как в языке снизится до минимума pointer chasing, фрагментация кучи и количество cache miss.
Ответить | Правка | К родителю #97 | Наверх | Cообщить модератору

141. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (141), 18-Сен-25, 03:07 
> Гугли Project Valhalla, где собираются релизнуть value классы и специализацию дженериков
> примитивами.

Да как бы поздно уже. Все, кто хотел производительности пересели либо на c++/GO/rust, либо на c# как наиболее совместимую альтернативу

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

152. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (162), 18-Сен-25, 10:44 
Ну, если говорить про РФ, то с банков (а это главный российский кровавый ынтерпрайз) его поперли, когда у Java JDK начали появляться отечественные сборки OpenJDK, сертифицированные ФСТЭК-ом (Liberica/Axiom). Я лет 5 только тем и зарабатывал, что на галере давали очередной проект, где C# легаси нужно было переписать на джаву.
Насчет "производительности" - джава всегда была нужна преимущественно на бэке, где основное бутылочное горлышко - это сетевое IO, а не CPU-bound задачи. Если руки прямые и есть понимание как тюнить GC под профиль нагрузки (микро)сервис, то сервис, держащий 50K RPS в один инстанс - не проблема.
А так конечно C# будет по-прогрессивнее - язык вышел в нулевых как работа над наиболее одиозными моментами жабы, которые не пофиксят никогда из-за святой "обратной совместимости".
Ответить | Правка | Наверх | Cообщить модератору

161. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от IMBird (ok), 18-Сен-25, 15:06 
>то сервис, держащий 50K RPS в один инстанс - не проблема

Звучит как типовая задача для Erlang

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

143. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Аноним (143), 18-Сен-25, 04:54 
Лучше бы поддержку 32 битов вернули. Но ломать - не строить.
Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +1 +/
Сообщение от Аноним (147), 18-Сен-25, 08:33 
> Лучше бы поддержку 32 битов вернули.

Зачем? Для некрожелеза и некроjava сойдёт.

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

150. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Ларри (?), 18-Сен-25, 09:28 
Без пары ярдов долларов я со стула не встану...
Ответить | Правка | К родителю #143 | Наверх | Cообщить модератору

153. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Хейтер (?), 18-Сен-25, 10:47 
>Лучше бы поддержку 32 битов вернули

- скоро не останется ОС на которых такое будет работать

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

165. "Выпуск Java SE 25 LTS и OpenJDK 25 "  +/
Сообщение от Анонимemail (165), 18-Сен-25, 23:48 
А можно запилить такой же тред про последний C++
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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