powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хороший тон в программировании?
25 сообщений из 153, страница 6 из 7
Хороший тон в программировании?
    #39270877
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueВообще то для кешей и прочего можно память без GC использовать в Java.
У меня была необходимость использовать большой пул массивов для кеширования без GC (3 GB RAM) еще 5-6 лет назад использовал его в Java. Смотрим ByteBuffer

https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html A direct byte buffer may be created by invoking the allocateDirect factory method of this class. The buffers returned by this method typically have somewhat higher allocation and deallocation costs than non-direct buffers. The contents of direct buffers may reside outside of the normal garbage-collected heap, and so their impact upon the memory footprint of an application might not be obvious. It is therefore recommended that direct buffers be allocated primarily for large, long-lived buffers that are subject to the underlying system's native I/O operations. In general it is best to allocate direct buffers only when they yield a measureable gain in program performance.


3 гига довольно долго выделялись на старте зато потом никто не пытался бессмысленно чистить пул массивов в несколько гигов.

в подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270895
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueСмотрим ByteBuffer
ну это ж инвалид на костылях с выколотым глазом
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270902
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилuid uniqueСмотрим ByteBuffer
ну это ж инвалид на костылях с выколотым глазом
Зачем же так об обертке массива байт.
память не в хипе и без сборщика мусора - для кешей сгодится.

Или предпочитаете метлой мести несколько лишних гигов? Накладненько получается хотя... вольному волю!
Для систем с интенсивным вводом выводом объем кеша превышает объем бизнес объектов (классов).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270908
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилuid uniqueСмотрим ByteBuffer
ну это ж инвалид на костылях с выколотым глазом
Ну вообще так и делают - генерят в рантайме/компайлтайме классы обертки на этими Unsafe/DirectByteBuffer и с ними работают - в итоге получаются те же java классы. Но самое интересно начинается, когда нужны коллекции для всего этого.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270915
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
Куда возвращаться? Если у тебя крупное бизнес-приложение OVER стотыщ питсот строк
и уже написано на платформерах - ты его будешь переписывать на С++ ?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270922
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
Куда возвращаться? Если у тебя крупное бизнес-приложение OVER стотыщ питсот строк
и уже написано на платформерах - ты его будешь переписывать на С++ ?
Проблема с байтбуферами в том, что ее
1) сложно пропихнуть в свой код, который писался черти сколько без мысли о том, что кроме GC жизненным циклом объекта никто не может управлять - надо переписывать код.
2) в чужой код может быть вообще не пропихнешь - надо переписывать код.
3) конечно это меньше работы чем переписывать на C/C++, но ввиду того, как пишется код во львиной доле компаний, такие правки могут повлечь тотальное переписывание проекта.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270927
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueЗачем же так об обертке массива байт.
беда в том, что если этот массив выделяется ByteBuffer.allocate или ByteBuffer.allocateDirect - никто не обещает что array() будет жить.

Да и FileСhannel.map не подарок
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39271505
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилuid uniqueЗачем же так об обертке массива байт.
беда в том, что если этот массив выделяется ByteBuffer.allocate или ByteBuffer.allocateDirect - никто не обещает что array() будет жить.

Да и FileСhannel.map не подарок
Проверьте после инициализации, для этого есть hasArray()... непонятно о чем плачь - возможность выделить память вне GC и хипа есть? Есть. Работайте. У меня код работал, все ок. Вместо 6ГБ хипа было 3ГБ и 3ГБ снаружи кеша для вводе ввывода.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39271506
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
CGI катать? Род задачи указан - пул массивов, для кеширования. Массивы как backend для потоков вполне себе годятся.
Если платят за С, пишите на С, если мне заказчит платит за Java - пишется на Java.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39290631
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает твой домашний адрес!!"

Уже не помню чьЁ
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311092
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskymaytonЕсли "ее" время куда-то уходит - то должны быть признаки. Вы можете указать хотя-бы 2-3 признака
уходящего времени для Java?
Сойдет за признак? ))
Oracle прекратила разработку Java EE? Нет, это не признак заката Java. Вон была мобильная платформа J2ME, но её время прошло, ей на смену пришёл Android. То, что устаревшие Java-технологии заменяются более современными Java-технологиями, -- это не признак заката Java.

maytonИ учитывая плотное "сидение" платформы Android на java-подобных грамматиках ЯП - ему тем более не грозит утекание целого сегмента разработки. Больше там ни на чем не пишут.Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311542
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовmaytonИ учитывая плотное "сидение" платформы Android на java-подобных грамматиках ЯП - ему тем более не грозит утекание целого сегмента разработки. Больше там ни на чем не пишут.Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity).
По ключевому слову Андроид в gihub

https://github.com/search?utf8=?&q=android

можно нагуглить 240 тысяч проектов на Java и 18 тысяч на сях. Ниже идут прочие хештеги.

Я считаю что это достаточно репрезентативно.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311560
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПётр Седовпропущено...
Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity).
По ключевому слову Андроид в gihub

https://github.com/search?utf8=?&q=android

можно нагуглить 240 тысяч проектов на Java и 18 тысяч на сях. Ниже идут прочие хештеги.

Я считаю что это достаточно репрезентативно.Нет. Исходники коммерческих игр обычно не выкладывают на GitHub. Мобильные игры часто делают кросс-платформенно, сразу на iOS и Android. Упомянутые технологии Marmalade и Unity в этом очень помогают, а вот с Java так легко не получится.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311651
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовНет. Исходники коммерческих игр обычно не выкладывают на GitHub. Мобильные игры часто делают кросс-платформенно, сразу на iOS и Android. Упомянутые технологии Marmalade и Unity в этом очень помогают, а вот с Java так легко не получится.
Ну хорошо. А откуда вы берете сведения о Marmalade и Unity ?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312179
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА откуда вы берете сведения о Marmalade и Unity ?А у меня нет точной статистики по Marmalade/Unity, просто эти технологии постоянно мелькают в вакансиях. А мобильные игры на Unity постоянно на слуху (Hearthstone, Pokemon Go, Angry Birds 2, Fallout Shelter). Я вообще-то возражал на ваше утверждение :
maytonБольше там ни на чем не пишут.Мол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312279
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовМол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так.
Андроид не использует JVM в общем понимании этого слова.
У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык
программирования - Java.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312292
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПётр СедовМол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так.
Андроид не использует JVM в общем понимании этого слова.
У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык
программирования - Java.
PhoneGap, React Native, Xamarin... Где же там Java?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312301
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAPhoneGap, React Native, Xamarin... Где же там Java?
Дайте хоть примерную ссылку на статистику. Нужны - количество проектов
в разрезе каждого термина.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312336
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonАндроид не использует JVM в общем понимании этого слова.
У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык
программирования - Java.Но не обязательно использовать именно его, к счастью :). Это в отличие от платформы J2ME, для которой можно было писать только на Java (или JVM-языке), никакого C++.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320337
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. То есть выходит не следует использовать последние ништяки, пока все с ними не разберутся? А разве меня касается то, что кто-то возможно ещё не успел изучить лямбды? Пусть изучает, делов то.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320350
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая точка зрения, в основном продвигаемая эффективными менеджерами, что надо ориентироваться на идиотов. Лично я предпочитаю не ориентироваться на эффективных менеджеров.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320610
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНасчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает.
Я-бы ему порекомендовал вообще ничего не программировать. Ибо много мест непонятно да
и вообще на самолёте летать не стоит... он сложно устроен и иногда падает... ну вобщем
Человек в Футляре .. и Чехов рулит.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320636
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

напомню тебе, что хдиабло это студент с 0 опытом. Конечно его мнение важно в архитектуре сложных распределенных систем, ради которых вообще нужна ява
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320646
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНасчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. То есть выходит не следует использовать последние ништяки, пока все с ними не разберутся? А разве меня касается то, что кто-то возможно ещё не успел изучить лямбды? Пусть изучает, делов то.
дык
только последние ништяки и стоит использовать.
появление всякого самого последнего ништяка автоматически означает, что какой-то из предыдущих ништяков надо немедленно выкинуть.
потому что
- количество ништяков, которые ты можешь одновременно унести, ограничено
- не понтово не пользоваться самыми последними ништяками
- самые последние ништяки самые лучшие, потому что самые молодые. А пока ты молодыми ништяками рулишь, ты и сам молодой.
- раз появились последние ништяки, значит кто-то из предыдущих обязательно умрет.
Вот появились лямбды, к примеру, значит - циклы for обязательно отменят.
И, если ты не успеешь переписать свой код с явных циклов на лямбды, то он в следующей версии явы код просто сломается и перестанет работать, потому что к тому времени устаревшие циклы отменят и исключат из описания языка.
А понимать - это зло. Как только ты что-то понял - оно сразу перестало быть ништяком.
Так жить вообще нельзя.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320668
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Что-то не пойму, сарказм или нет? :)
...
Рейтинг: 0 / 0
25 сообщений из 153, страница 6 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хороший тон в программировании?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]