![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Предположим, у вас такая ситуация. В 99.99% случаев размер очереди примерно равен 100 000 элементов, но в какой то момент (те самые 0.01%) очередь вырастает до 100 000 000 элементов. Какую из двух очередей (ArrayBlockingQueue или LinkedBlockingQueue) следует использовать и почему?
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 5 Всего: 9 |
Думаю ArrayBlockingQueue - он быстро осуществляет операции доступа, но медленно операции, связанные с перераспределенем памяти. Если они происходят в 0.01% случаев, полагаю это будет оптимальным решением.
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
ArrayBlockingQueue имеет фиксированную вместимость - "Once created, the capacity cannot be increased". Поэтому только LinkedBlockingQueue.
|
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
COVD, Правильно!
Фигня еще в том, что таким вот образом, разработчику придется хранить 100 000 000 ссылок в объекте ArrayBlockingQueue на случай такого количества элементов, т.е. на лицо не эффективный расход памяти в 99.99% времени работы приложения. -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |