|
java reflectoion
|
|||
---|---|---|---|
#18+
f9n6001, Дерево причем к той фразе ТЗ от тебя?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 11:03 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, PetroNotC Sharp Вероятно вам надо очередь нет, там сначала поиск объекта по uuid, а потом обработка объекта с последующим удалением из списка. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 11:44 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
f9n6001 PetroNotC Sharp, PetroNotC Sharp Вероятно вам надо очередь нет, там сначала поиск объекта по uuid, а потом обработка объекта с последующим удалением из списка. сначал ищем в Map по key, а потом удалем по ключю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 11:50 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, PetroNotC Sharp Дерево причем А, собственно, какие у нас варианты остаются? Все коллекции в Java строятся либо на массиве (аррэйлист, вектор, стек), либо на связных списках (линкедлист), либо на их симбиозе (хешмэп, хешсет), либо на красно-черном дереве (тримэп, трисет). Вот, если не аррэйлист на массиве, то на чём? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 11:54 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
чет мутная история с чего вдруг arraylist будет удлинять до милиона если всего 100 элеметов будет в нем. добавление с удалением если чередуется. Если не черезуется то возникает вопрос как поможет вообще что либо если нужно хранить милион объектов. Если понимается типа заполнить милионов и обработывать потихоньку удаляю и имеется ввиду что структура хранения сжимается потихоньку по мере удаления. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 11:54 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
lleming f9n6001 PetroNotC Sharp, пропущено... нет, там сначала поиск объекта по uuid, а потом обработка объекта с последующим удалением из списка. сначал ищем в Map по key, а потом удалем по ключю ? Аффтар! Ты теоретик или практик? ТЗ наконец внятно будет? Счас напишешь велосипед и потом его в мусорку ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 12:04 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, PetroNotC Sharp Ты теоретик или практик? Теория без практики мертва и бесплодна. Практика без теории невозможна и пагубна. Для теории нужны знания, для практики сверх того, и умения. © М.В.Ломоносов. Прежде чем строить систему, надо уметь абстрагироваться, сложить у себя в уме модель и определиться, из каких, собственно, кирпичей, будем эту систему строить. На сколько я понимаю, именно этим и занимаются "архитекторы" в IT-компаниях. Вообще, способность к абстрактному мышлению - это именно то, что отличает человека от обезьяны. Вот интересная статья (не про обезьян) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 13:34 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
Мне кажется что структуру данных надо подбирать под конкретный бизней-кейс. Нет смысла обсуждать недостатки ArrayList в вакууме. Нам нужна задача на которой ArrayList повел себя плохо. Например делал ненужные аллокации или копирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 13:39 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
mayton, mayton Нет смысла обсуждать недостатки ArrayList в вакууме. Пока вот так написал. Потом посмотрю, на практике, надо ли оно вообще окажется. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 14:07 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
f9n6001, Меня не слушаешь, mayton послушай. А так, ты как стас споришь против всех. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 14:07 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
f9n6001 Пока вот так написал. Потом посмотрю, на практике, надо ли оно вообще окажется. Код: java 1. 2. 3. 4.
Я не знаю где ты это собрался использовать но мне кажется что бегать рефлексией по системным библиотекам по скрытым полям - это путь в никуда. Точно также и данный вызов Код: java 1.
в зависимости от конкретной модели GC может не делать вообще ничего. Послушай лекции Шипилева на эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 14:19 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
f9n6001 Собственно из чего возник вопрос. Имеем лист, в который заносятся определенные данные. Поток этих данных может быть большим. Скажем, миллион записей. Дальше эти записи обрабатываются и по мере обработки удаляются из листа как неактуальные. В результате мы имеем под капотом листа массив на 2 млн ячеек, из которых реально заполнено 100. Когда случится следующий поток с данными - неизвестно, а массив в памяти бултыхается. Усекать его не имеет смысла? Поймите правильно, я действительно спрашиваю вас как более опытных в программировании специалистов. Наплевать и забыть или все-таки как-то обрабатывать эту ситуацию? По данному бизнес-кейсу. Попробуй использовать ArrayDeque https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayDeque.html Она поддерживает интерфейс очереди Queue. Для обычных сценариев его должно хватить. Ну почти всем хватало. Особенно если ты хранишь не Integer/Long а какие-то осмыслленные бизнес объекты. Только высокочастотные трейдеры чего-то там другое искали и делали свои очереди с большей скоростью обработки. Но .... использовать их крайне неудобно. Вобщем стадартная Кьюшка или Дек (это по сути одно и тоже только в Дек можно пихать данные с двух сторон... ага как Газопровод по Украине) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 15:22 |
|
java reflectoion
|
|||
---|---|---|---|
#18+
mayton, mayton бегать рефлексией по системным библиотекам по скрытым полям - это путь в никуда. Да я понимаю, что это - плохое решение. И в реальном проекте скорее всего не пройдет, любой тимлид его забракует. А вот, например, в с# capacity доступен вполне себе легальными средствами . То есть в MS понимают, что штука так-то нужная. Но проработка вопроса - это в любом случае полезное дело для общего развития. mayton, Андрей Панфилов, вадя, lleming спасибо за конструктив. Тред (что логично) превращается в холивар, потому до новых встреч. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2022, 11:00 |
|
|
start [/forum/topic.php?fid=59&gotonew=1&tid=2120258]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
378ms |
get topic data: |
10ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 303ms |
total: | 788ms |
0 / 0 |