|
|
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
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 гига довольно долго выделялись на старте зато потом никто не пытался бессмысленно чистить пул массивов в несколько гигов. в подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 19:57 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
uid uniqueСмотрим ByteBuffer ну это ж инвалид на костылях с выколотым глазом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 21:04 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Изопропилuid uniqueСмотрим ByteBuffer ну это ж инвалид на костылях с выколотым глазом Зачем же так об обертке массива байт. память не в хипе и без сборщика мусора - для кешей сгодится. Или предпочитаете метлой мести несколько лишних гигов? Накладненько получается хотя... вольному волю! Для систем с интенсивным вводом выводом объем кеша превышает объем бизнес объектов (классов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 21:23 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Изопропилuid uniqueСмотрим ByteBuffer ну это ж инвалид на костылях с выколотым глазом Ну вообще так и делают - генерят в рантайме/компайлтайме классы обертки на этими Unsafe/DirectByteBuffer и с ними работают - в итоге получаются те же java классы. Но самое интересно начинается, когда нужны коллекции для всего этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 21:37 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой Куда возвращаться? Если у тебя крупное бизнес-приложение OVER стотыщ питсот строк и уже написано на платформерах - ты его будешь переписывать на С++ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 21:47 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonnojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой Куда возвращаться? Если у тебя крупное бизнес-приложение OVER стотыщ питсот строк и уже написано на платформерах - ты его будешь переписывать на С++ ? Проблема с байтбуферами в том, что ее 1) сложно пропихнуть в свой код, который писался черти сколько без мысли о том, что кроме GC жизненным циклом объекта никто не может управлять - надо переписывать код. 2) в чужой код может быть вообще не пропихнешь - надо переписывать код. 3) конечно это меньше работы чем переписывать на C/C++, но ввиду того, как пишется код во львиной доле компаний, такие правки могут повлечь тотальное переписывание проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 21:58 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
uid uniqueЗачем же так об обертке массива байт. беда в том, что если этот массив выделяется ByteBuffer.allocate или ByteBuffer.allocateDirect - никто не обещает что array() будет жить. Да и FileСhannel.map не подарок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 22:01 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Изопропилuid uniqueЗачем же так об обертке массива байт. беда в том, что если этот массив выделяется ByteBuffer.allocate или ByteBuffer.allocateDirect - никто не обещает что array() будет жить. Да и FileСhannel.map не подарок Проверьте после инициализации, для этого есть hasArray()... непонятно о чем плачь - возможность выделить память вне GC и хипа есть? Есть. Работайте. У меня код работал, все ок. Вместо 6ГБ хипа было 3ГБ и 3ГБ снаружи кеша для вводе ввывода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2016, 22:47 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
nojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой CGI катать? Род задачи указан - пул массивов, для кеширования. Массивы как backend для потоков вполне себе годятся. Если платят за С, пишите на С, если мне заказчит платит за Java - пишется на Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2016, 22:50 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
"Пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает твой домашний адрес!!" Уже не помню чьЁ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2016, 21:04 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
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). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2016, 23:27 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Пётр СедовmaytonИ учитывая плотное "сидение" платформы Android на java-подобных грамматиках ЯП - ему тем более не грозит утекание целого сегмента разработки. Больше там ни на чем не пишут.Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity). По ключевому слову Андроид в gihub https://github.com/search?utf8=?&q=android можно нагуглить 240 тысяч проектов на Java и 18 тысяч на сях. Ниже идут прочие хештеги. Я считаю что это достаточно репрезентативно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 22:01 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
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 так легко не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2016, 23:32 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Пётр СедовНет. Исходники коммерческих игр обычно не выкладывают на GitHub. Мобильные игры часто делают кросс-платформенно, сразу на iOS и Android. Упомянутые технологии Marmalade и Unity в этом очень помогают, а вот с Java так легко не получится. Ну хорошо. А откуда вы берете сведения о Marmalade и Unity ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2016, 09:03 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonА откуда вы берете сведения о Marmalade и Unity ?А у меня нет точной статистики по Marmalade/Unity, просто эти технологии постоянно мелькают в вакансиях. А мобильные игры на Unity постоянно на слуху (Hearthstone, Pokemon Go, Angry Birds 2, Fallout Shelter). Я вообще-то возражал на ваше утверждение : maytonБольше там ни на чем не пишут.Мол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2016, 18:27 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Пётр СедовМол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так. Андроид не использует JVM в общем понимании этого слова. У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык программирования - Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2016, 21:06 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonПётр СедовМол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так. Андроид не использует JVM в общем понимании этого слова. У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык программирования - Java. PhoneGap, React Native, Xamarin... Где же там Java? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2016, 21:25 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
skyANAPhoneGap, React Native, Xamarin... Где же там Java? Дайте хоть примерную ссылку на статистику. Нужны - количество проектов в разрезе каждого термина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2016, 21:33 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
maytonАндроид не использует JVM в общем понимании этого слова. У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык программирования - Java.Но не обязательно использовать именно его, к счастью :). Это в отличие от платформы J2ME, для которой можно было писать только на Java (или JVM-языке), никакого C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2016, 01:23 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Насчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. То есть выходит не следует использовать последние ништяки, пока все с ними не разберутся? А разве меня касается то, что кто-то возможно ещё не успел изучить лямбды? Пусть изучает, делов то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 15:26 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
Есть такая точка зрения, в основном продвигаемая эффективными менеджерами, что надо ориентироваться на идиотов. Лично я предпочитаю не ориентироваться на эффективных менеджеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 15:34 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
XDiaBLoНасчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. Я-бы ему порекомендовал вообще ничего не программировать. Ибо много мест непонятно да и вообще на самолёте летать не стоит... он сложно устроен и иногда падает... ну вобщем Человек в Футляре .. и Чехов рулит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 22:54 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
mayton, напомню тебе, что хдиабло это студент с 0 опытом. Конечно его мнение важно в архитектуре сложных распределенных систем, ради которых вообще нужна ява ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 00:51 |
|
||
|
Хороший тон в программировании?
|
|||
|---|---|---|---|
|
#18+
XDiaBLoНасчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. То есть выходит не следует использовать последние ништяки, пока все с ними не разберутся? А разве меня касается то, что кто-то возможно ещё не успел изучить лямбды? Пусть изучает, делов то. дык только последние ништяки и стоит использовать. появление всякого самого последнего ништяка автоматически означает, что какой-то из предыдущих ништяков надо немедленно выкинуть. потому что - количество ништяков, которые ты можешь одновременно унести, ограничено - не понтово не пользоваться самыми последними ништяками - самые последние ништяки самые лучшие, потому что самые молодые. А пока ты молодыми ништяками рулишь, ты и сам молодой. - раз появились последние ништяки, значит кто-то из предыдущих обязательно умрет. Вот появились лямбды, к примеру, значит - циклы for обязательно отменят. И, если ты не успеешь переписать свой код с явных циклов на лямбды, то он в следующей версии явы код просто сломается и перестанет работать, потому что к тому времени устаревшие циклы отменят и исключат из описания языка. А понимать - это зло. Как только ты что-то понял - оно сразу перестало быть ништяком. Так жить вообще нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 04:01 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39312279&tid=1340592]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
138ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 460ms |

| 0 / 0 |
