@jvmchat

Страница 1637 из 2890
Yan?
21.07.2017
16:08:19
LinkedList-ом кто пользуется в боевых проектах? Есть прирост произволительности по сравнению с ArrayList-ом?

Google
Yan?
21.07.2017
16:09:52
прирост?
Если удалять/добавлять в начало

Igor
21.07.2017
16:09:55
LinkedList-ом кто пользуется в боевых проектах? Есть прирост произволительности по сравнению с ArrayList-ом?
блин, очевидно, что если использовать коллекцию для того, для чего она подходит, то она будет работать быстрее менее подходящей

Yan?
21.07.2017
16:10:12
Просто на хабре пишут Объяснение простое: ArrayList внутри себя использует System.arrayCopy — нативную функцию, которая отрабатывает на удивление шустро. В то же время для LinkedList'а приходится переопределять несколько указателей, но это не самое главное. Все эти указатели на предыдущего и следующего обходятся сборщиком мусора. Из-за этого растет время, необходимое для стадии маркинга, а с учетом того, что в одном списке оказываются элементы из разных поколений, вся процедура затягивается еще больше.

Nick
21.07.2017
16:11:01
бггг

обхобятся не указатели в листе, а вообще все обьекты в куче начиная от рут элементов

Yan?
21.07.2017
16:12:50
В LinkedList итерирование займет больше, чем копирование части массива в ArrayList. Это утверждение верно как минимум для <=1024 элементов

Митко Соловец?
21.07.2017
16:13:09
можно не копировать

а сразу скинуть статью

guga
21.07.2017
16:13:37
джава же срала на ссылочную прозрачность

Google
guga
21.07.2017
16:13:43
так что не с рут элемента

Yan?
21.07.2017
16:13:49
https://habrahabr.ru/post/127864/

Nick
21.07.2017
16:14:17
так что не с рут элемента
а что в твоем понимании рут элемент? )

guga
21.07.2017
16:14:23
head

Nick
21.07.2017
16:14:37
а в моем нет

я про граф при сборке мусора

guga
21.07.2017
16:14:52
лол

Nick
21.07.2017
16:14:53
к примеру статики там, или тред стек

guga
21.07.2017
16:14:55
прости не понял тебя

привык что его называют рут сетом

он из контекста мог бы и понять

Aleksander
21.07.2017
16:20:19
LinkedList-ом кто пользуется в боевых проектах? Есть прирост произволительности по сравнению с ArrayList-ом?
Я юзаю, где есть вставка в конец и далее итерация только по листу. Без рандомного доступа к элементам

Митко Соловец?
21.07.2017
16:22:48
https://habrahabr.ru/post/333626/

угадайте какого года статья

Yan?
21.07.2017
16:25:44
этого

>Начинающий Java-разработчик

guga
21.07.2017
16:26:21
отличная статья

Nick
21.07.2017
16:27:13
Чем ?
итерирование по arraylist быстрее, операции вставки вконец не делает сдвигов, поэтому затраты у тебя будут только на увеличение листа

Google
Nick
21.07.2017
16:27:19
+ по памяти во много раз лучше

Aleksander
21.07.2017
16:28:04
По памяти arraylist ресайзится каждый раз в полтора раза, а линкед всегда фитится под размер

Aleksander
21.07.2017
16:28:50
не каждый раз, а когда в нем места нет)
Ну да - сказал не так просто

Nick
21.07.2017
16:29:05
так вот это довольно редкая операция

да и речь про то, сколько линкд лист тратит на внутренние структуры

Yan?
21.07.2017
16:29:50
Так arrayList самый выйграшный вариант?

Nick
21.07.2017
16:30:43
все зависит от задач

Aleksander
21.07.2017
16:31:49
А если представим, что у нас очень много элементов. И при добавлении аррейлист отресайзился в полтора раза и забил дофига памяти на хранение пустых элементы, и далее мы перестали добавлять в него.

Конечно, это редкий кейс

Aleksander
21.07.2017
16:32:52
Но если возьмём полный аррей лист и аналогичного размера линкед лист - они примерно одинаково будут весить

Aleksander
21.07.2017
16:33:39
Ща, у меня была статья

Victor
21.07.2017
16:33:50
У linkedlist фрагментация намного-намного выше

Nick
21.07.2017
16:33:54
да че мне ваша статья, посчитайте сами

Aleksander
21.07.2017
16:34:13
От ibm!

У linkedlist фрагментация намного-намного выше
Согласен. На кешлайны разные ложатся объекты

Google
Nick
21.07.2017
16:34:42
array list хранит одну ссылку а linked 3 только внутри node

Aleksander
21.07.2017
16:35:21
Nick
21.07.2017
16:35:41
Ну погоди :) я ищу исследование
да я сам таких исследовании тебе хоть 1000 сделаю

Aleksander
21.07.2017
16:38:02
xD

да я сам таких исследовании тебе хоть 1000 сделаю
Накладные расходы 24 байта на запись у лл, а у ал 4 байта

Nick
21.07.2017
16:40:43
уточни еще и битность системы

Aleksander
21.07.2017
16:41:09
Но!!!! Пустой лл весит 48 байт, а ал 88. Там 32 бита

вот собственно https://www.ibm.com/developerworks/ru/library/j-codetoheap/

Admin
ERROR: S client not available

Andrey
21.07.2017
16:43:15
/stat@combot

Combot
21.07.2017
16:43:17
combot.org/chat/-1001043090457

Victor
21.07.2017
16:43:51
Но!!!! Пустой лл весит 48 байт, а ал 88. Там 32 бита
Пустой, это new ArrayList() или new ArrayList(0)?

Aleksander
21.07.2017
16:44:36
Я думаю с дефолт капасити в 10 элементов

т.е. 1 вариант

Victor
21.07.2017
16:45:39
А, там в статье видно, что массив из 10 элементов. Да.

Nick
21.07.2017
16:45:47
тебе правильно сказали, пустой arraylist тоже меньше весит)

Aleksander
21.07.2017
16:46:28
Ну да. Короче меня разнесли в пух и прах. Пойду ctrl r по проекту делать

Victor
21.07.2017
16:50:12
И вот даже для создания очереди, тоже рекомендуют не LL использовать, а брать ArrayDeque.

Google
Aleksander
21.07.2017
16:51:03
Но в какой-то момент с лл меня переклинило

Moth
21.07.2017
16:53:38
всем привет

Aleksander
21.07.2017
16:53:52
Moth
21.07.2017
16:54:20
Кто может помочь разобрать код, пару строчек тут

никто не может? элементарный код

Aleksander
21.07.2017
16:56:00
То чувство когда единственный человек в проекте напихал линкед листов - это я

Yan?
21.07.2017
16:57:50
Так получается что вообще все коллекции на основе LL нинужны?

Moth
21.07.2017
16:58:07
alo, yoba

Aleksander
21.07.2017
17:01:09
Да я про него
Нет. Тут свойства хештаблицы и порядка вставки и это очень полезно

Yan?
21.07.2017
17:01:37
Нет. Тут свойства хештаблицы и порядка вставки и это очень полезно
А почему порядки вставки это очень полезно? Ведь там ставится все от значения хэша

Aleksander
21.07.2017
17:01:45
Да я про него
Доступ по ключу за o(1) в лучшем случае. И итерация в порядке вставки

Luger
21.07.2017
17:01:45
alo, yoba
уже б скинул. или сюда загляни : https://t.me/javastart

Aleksander
21.07.2017
17:02:21
А почему порядки вставки это очень полезно? Ведь там ставится все от значения хэша
Если тебе важен порядок вставки, например, для итерации по ней.

guga
21.07.2017
17:02:33
alo, yoba
Или заплати денег

Yan?
21.07.2017
17:02:45
Так что выйгрыш не особо крутой

А ПАМЯТЬ ест!

Страница 1637 из 2890