|
2.78, darkshvein (ok), 19:50, 18/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
в порядк тупняка.
будет жабка с интеграцией системд во все дейвайсы на жабке
Javded
| |
|
1.4, Аноним (4), 10:06, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Мне не хватает производительности. А есть какой-нибудь способ уменьшить жор памяти? Сейчас я использую openj9+uksm в этих целях.
| |
|
|
3.12, Аноним (4), 11:24, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Какие ещё сторонние каналы, если на каждом хосте только 1 копия приложения может быть запущена? Да ещё и требования космические по железу хоста предъявляет, в виртуалке не запустишь. Openj9+uksm экономит >30% памяти, и сама память используется куда более эффективно, чем когда всё впритык. Вот и спрашиваю, может я каких-то новых волшебных ключей не знаю.
| |
|
|
3.11, An (??), 11:19, 15/09/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
Как минимум, еще два(причем лучше): C и C++.
| |
|
4.32, Аноним (32), 14:42, 15/09/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
У плюсов в сравнении с растом слишком низкая производительность
| |
|
3.79, Аноним (79), 00:25, 19/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Увы, на расте нет ни одного продукта, которым можно пользоваться.
| |
|
2.15, Аноним (14), 11:50, 15/09/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Игры с настройкой GC, если на уровне Java. Разделение на java module. Использование где можно балансировщиков которые работают с потоками быстро и отдают данные клиентами, поэтому потоки не живут долго и не занимают память (reverse proxy). При работе с файлами использовать nio и selector (неблокирующие). Использовать реактивное программирование - избавление от блокировок (но база данных при этом должна тоже поддерживать это). Можно попытаться использовать 32 бит версии Java и/или не использовать объекты размером больше 32 бит, будет обмен занимаемой памяти на быстродействие CPU (но в Java есть compacting так что возможно влияние 64 бит переменных не сильное). И главное - использовать все возможные инструменты для просмотра статистики при всех этих экспериментах.
| |
2.16, YetAnotherOnanym (ok), 11:50, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
> жор памяти
Нескромный вопрос: ты пришёл на эту работу и жаба уже была, или ты писал это на жабе с нуля? Проще говоря, жабу кто выбрал - ты или до тебя?
| |
2.19, Anon2 (?), 12:08, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Я конечно не эксперт, но если под производительностью вы понимаете именно скорость вычислений то uksm в связке с Java это плохая затея. Java ж на каждый чих выделяет память в куче, а uksm при этом _сразу_же_ пытается это дело смержить (в ksm это хотя-бы как то ограничивается отложенным мержем)
| |
2.20, Anon2 (?), 12:16, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
> жор памяти
0. zram с низкосжимаемыми алгоритмами типа lzo
1. может она алгоритмически течет
2. исключить разработку и эксплуатацию по низкому прайсу
3. потюнить приложение и/или саму Java
| |
|
3.22, Аноним (4), 12:45, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Вот zram прям жёстких тормозов добавляет, всё что угодно лучше пока своп не используется. Оно не течёт, просто так написано и других вариантов нет, это готовое приложение. Тюнить жвм можно, только ошибки сразу проявляются в виде лагов всего чего только можно (в том числе IO) и падения допустимого числа коннектов. Не, нормально работает, но весьма не экономно по железу -- не везде запустишь.
| |
3.38, Аноним (38), 21:29, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Этот zram swap у кого-то вообще нормально работает? В смысле, экномит ли память? Я вот его пробовал, так ядро туда отказывается пихать несжатых данных больше чем размер свопа. К примеру, своп на зраме 1Г. Ядро пихает туда 1Г данных, они ужимаются в 300М. Остаётся 700М свободных, но ядро больше данных в zram-своп не пихает, даже начинает пихать оставшиеся данные в низкоприоритетный своп на HDD!
| |
|
4.73, n00by (ok), 20:16, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
zRam так и работает. Указывается размер хранилища, оно по возможности будет занимать меньше ОЗУ из-за сжатия. В Вашем случае оставшиеся 700М как обычно заняты данными приложений или файлового кеша, или свободны. Другое дело, что zRam проектировался не для подкачки, уменьшает объём доступного ОЗУ, потому в ряде сценариев может наоборот увеличить количество выгрузок на HDD. Для сжатия подкачки предназначен zswap, там как раз задаётся размер сжатого кеша (в процентах от общего объёма ОЗУ). Что окажется эффективней, зависит от сценария использования и настроек zswap.
| |
|
5.74, Аноним (38), 22:59, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ага, понятно, спасибо. Значит в моём случае zswap занимает в памяти 300М, а не 1Г, как я думал, да ещё и динамически меняет свой размер, в зависимости от того, сколько данных туда запихано.
Хорошо, если zram проектировался не для подкачки, как мне сделать, чтобы память сжималась и экономилась без zswap? Просто создать zram device и всё?
| |
|
6.75, Аноним (38), 23:27, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Другое дело, что zRam проектировался не для подкачки
Так, опять перечитал про zram и, похоже, zram всё-таки нельзя использовать без свопа! То есть создаёшь zram device, на нём делаешь своп. Значит, zram таки проектировался для подкачки!
| |
|
7.77, n00by (ok), 12:08, 18/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Не надо смешивать "проектировался" и "можно использовать".
zRam это обычный виртуальный-диск
https://ru.wikipedia.org/wiki/RAM-%D0%B4%D0%B8%D1
https://habr.com/ru/company/kingston_technology/blog/395315/
с поддержкой сжатия.
Можно купить диск в магазине и создать на нём подкачку, можно создать "диск" в ОЗУ при помощи zRam и создать на нём подкачку. Можно на эти диски записать картинки с котиками. Картинки в zRam будут открываться быстрее.
zawap именно проектировался, потому там не надо создавать диск и на диске подкачку. Активируете (по умолчанию включено в последних ядрах, но не везде), указываете параметры (алгоритм сжатия, размер кеша и т.п.) и он работает.
| |
|
|
|
|
|
|
3.31, Аноним (4), 14:23, 15/09/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Прикольно, впервые слышу об этом. Какой-нибудь майнкрафт с allthemods3 в него можно запихнуть? Примерно сопоставимо, как мне кажется. Там в нейтив не скомпилируешь так просто.
| |
|
4.72, lastdrv (ok), 15:09, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
очень маловероятно что майнкрафт можно скомпилить в натив
кваркус хоть и много либ поддерживает, но ориентирован на облака и кубы
для графики ни чего не нашёл
| |
|
|
2.34, OramahMaalhur (ok), 16:19, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Есть, GraalVM (native image). Проще всего завести с каким-то фреймворком типа Quarkus или Micronaut, но вполне можно и без них обойтись. Правда, там есть свои нюансы: в определённых случаях придётся генерировать огромные json-ы с описанием рефлексий, не все стандартные либы соберутся, пляски с бубном вокруг JNI, статическая линковка и особенности с libc на разных системах.
Но в целом оно шустро работает.
| |
|
3.35, Аноним (4), 16:43, 15/09/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это всё хорошо, но тут нельзя грубо говоря закинуть в него эту кучку jar и чтобы всё работало само. Нужно переписывать. И, в зависимости от того, как написано, это может оказаться невозможным при всём желании.
| |
|
2.69, Ефросии (?), 13:17, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ну как бэ, жрёт же не jvm, жрёт говнокод. Вот например есть коллекции Eclipse Collections, они меньше жрут.
| |
|
3.70, Аноним (4), 13:24, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ну так что делать, если код написан 15 лет назад. И его много, очень много.
| |
|
4.80, BeLord (ok), 13:06, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Рефакторить, а что еще делать с кривым кодом?-) Тут вопрос скорее в том, какая архитектура, если нормальная, то задача упрощается.
| |
|
|
|
1.5, Урри (ok), 10:13, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
> Добавлена предварительная реализация API Foreign Function & Memory
> https://openjdk.java.net/jeps/412
Отстой. Велосипедный отстой.
Неужели нельзя было посмотреть, как все сделано в шарпе (та же джава, только сбоку) и сделать так же удобно? А не вот эти вот MemoryLayout.ofSequence .. CLinker.toCString .. MemoryAccess.setAddressAtIndex .. CLinker.toJavaStringRestricted?
Да хотя бы libffi прикрутить, если не умеете сами нормальный код дизайнить.
При этом еще имеют наглость заявлять "This code is far clearer than any solution that uses JNI"!!! Ититьколотить, far clearer, вашумать.
--
Нет слов, одни, блин, эпитеты!
| |
|
|
3.24, Урри (ok), 12:52, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
За аннотации же не засудила?
В чем проблема расширить аннотации до "как в шарпе, но не как в шарпе" и написать свой код?
| |
3.62, maximnik0 (?), 19:09, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
>M$ засудит.
За что ? Net! это теперь независимая разработка,то что площадка крутиться на сервере у M$ историческое наследие.Код открытый,единственное что старый код с .NET Framework привязан к win платформе и тот код предоставлен просто посмотреть....
| |
|
2.18, Аноним (14), 11:53, 15/09/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
где твой PR в openjdk, раз лично ты разбираешься в проектировании кода лучше?
| |
|
3.23, Урри (ok), 12:50, 15/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
PR "Вы накодили какое-то тупое г_вно"? А смысл?
> раз лично ты
Таких как я - десятки тысяч. В шарпе уже много лет все сделано и все пользуются.
| |
3.36, Фотошоп лучше (?), 18:40, 15/09/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, на мой взгляд, человек написал по сути с примерами. И, в общем-то прав.
Зато версия 17, хотя инкрементировать нужно было минор.
| |
|
2.28, Аноним (28), 14:03, 15/09/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
Что вы хотите от убогих javaмакак? Они такие же убогие как растомакаки.
Настоящие программисты пишут только на ANSI C
| |
|
3.45, Прохожий (??), 05:59, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Настоящие программисты пишут только на ANSI C и питаются г-ном мамонта на завтрак, обед и ужин.
| |
3.48, Старший аноним (?), 09:12, 16/09/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Настоящему программисту все равно на каком языке писать. Настоящий программист выбирает для определенной задачи наиболее подходящий язык.
| |
|
4.63, YetAnotherOnanym (ok), 19:28, 16/09/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты какой-то скучный. Брать для каждой задачи подходящий для неё инструмент - это тривиально. Вот шинковать лук киянкой для тротуарной плитки - это трендово, потому что киянка - инструмент, быстрый в освоении и несложный в использовании, использование киянки позволяет быстро приступить к работе и получить результат раньше конкурентов.
| |
4.71, lockywolf (ok), 13:41, 17/09/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Настоящий программист на любом языке может написать программу на Фортране.
| |
|
|
|
1.25, Аноним (25), 12:55, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Готовые для установки сборки Java SE 17 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS
А как же соляра?
| |
1.26, Аноним (26), 13:01, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Как же тоскливо и уныло стало читать новости про жабу - как наблюдать за престарелой собакой. То ли дело раньше были новости: "Java производит математические расчеты в 4 раза быстрее C++", "новый сборщик мусора обгоняет malloc()/free() в 10 раз" и т.п. И где теперь вся эта эффективность, производительность и безопасность? А C++ живее всех живых и действительно развивается.
| |
|
2.42, лютый жабби__ (?), 04:15, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
>Java производит математические расчеты в 4 раза быстрее C++
так уже со счёту сбились во скока раз жаба быстрее... вот у меня внатуре на серваках валяется простейшая прога которая намного быстрее sort -u хотя там внутри 3 строчки - загрузить всё в HashSet и выплюнуть...
| |
|
3.59, Аноним (38), 17:21, 16/09/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
1. С++ и std::unordered_set были бы быстрее.
2. sort умеет сортировать файлы, которые не влазят в память. Создаёт для этого временные файлы.
| |
|
2.43, Хан (?), 05:43, 16/09/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Страсти утихли, C++ и Java сейчас практически не пересекаются, у каждого своя ниша в которой он навертво сидит
Только NET и Java до сих пор холиварят
| |
|
3.76, anonymous (??), 23:51, 17/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Чисто ради интереса: кто на чём специализируется? Весь энтерпрайз на джаве, а вещи типа игроделов, high frequency trading и фин моделирования на плюсах?
| |
|
4.81, BeLord (ok), 13:09, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Документооборот 100+ млн пользователей, Java EE, решает все задачи последние n лет, что еще надо для счастья?-)
| |
|
|
2.50, Аноним (50), 10:29, 16/09/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Как же тоскливо и уныло стало читать новости про жабу
Подтверждаю как Java-разработчик — язык вроде бы "развивается", но реального прогресса нет.
Graal сдох. AOT сдох, а теперь вообще был выпилен. Project Valhalla там же. Зато каждый день прикручивают новый, модный синтаксис. Как будто те, кому нужны все эти рюшечки, давным-давно не перешли на Scala и Kotlin.
| |
|
3.52, лютый жабби__ (?), 10:56, 16/09/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
>но реального прогресса нет.
ты уже жабосиньёр-фулстэк с ЗП 400++ тыр?
Блин, ну семью заведи, будет чем заняться...
Наоборот бесит, что 7 лет кодишь, а ещё и конца и края не видно (то java EE сдохнет, надо спринг учить, то jsf сдохнет, надо реакт учить, в спринге вообще модулей понаклепали, хоть 100 лет ковыряйся так дураком и помрёшь)... а тебе прогресс подавай
| |
|
4.58, Аноним (58), 16:43, 16/09/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да такие кактусы жабистам ещё есть и есть. У вас же даже стандартного аналога gettext нет - до сих пор интернационализацию ручками делаете, как в MFC в середине 90х.
| |
|
|
|
1.33, Anonymoustus (ok), 14:57, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Предложена экспериментальная реализация сопоставления по шаблону в выражениях "switch", позволяющая в метках "case" использовать не точные значения, а гибкие шаблоны, охватывающие сразу серию значений, для которых ранее приходилось использовать громоздкие цепочки выражений "if...else". Кроме того внутри "switch" обеспечена возможности обработки значений NULL.
Жаба начнёт тормозить втрое против прежнего? И с ошибками обработки значений NULL? :)
| |
1.37, Аноним (37), 19:45, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Джава хорошеет. Оракл молодцы, что сменили схему выпуска новых версий. Очевидно, что это пошло на пользу.
| |
1.40, Михрютка (ok), 22:37, 15/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
самое главное забыли
>>>JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions License.
>>>JDK 17 will receive updates under these terms, until at least September 2024.
до кого-то видимо дошло.
"уж лучше я, чем какой-нибудь мерзавец"
| |
1.41, Хан (?), 03:46, 16/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Спасибо Oracle, что на swing не забили, это единственный нормальный тулкит для Java
| |
|
|
3.49, Хан (?), 09:51, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Для толстого клиента серверсайда Swing хватает за глаза
| |
|
|
|
4.65, vvm13 (?), 20:23, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Is Java Swing Dead 2020?
You can say that Java Swing is a zombie: It is still available and in use in its latest development state, but makes no progress in regard of improvements.
Что касается JavaFX, он очень близок к зомби, но не совсем. Хоть какие-то мелочёвки в очень малых количествах, но добавляются.
| |
|
|
|
1.51, abi (?), 10:54, 16/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Котлин, я так понимаю, всё? Развития Java сильно ускорилось и тягаться с ораклом врядли получится.
| |
|
2.54, vvm13 (?), 12:05, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Не особенно ускорилось. А самое важное (для Котлина) - на Андроиде Java стоит на месте.
| |
|
3.57, abi (?), 16:00, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
Да, всё-время вижу про Андроид и котлин, но а если не андроид и новый проект сейчас? Бэкэнд на java 17 или на котлине?
| |
|
4.60, Аноним (38), 17:27, 16/09/2021 [^] [^^] [^^^] [ответить]
| +/– |
На котлине. Можно ещё на Scala, она мощнее, но и тяжелее в освоении, и там коммунити помешаное на ФП, хотя сам язык тебя не заставляет кодить в ФП стиле.
| |
|
|
|
1.55, Аноним (-), 12:15, 16/09/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>Java 17 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.
Это ошибка коммерческие библиотеки не надо использовать.
| |
|