ArrayList vs CopyOnWriteArrayList - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 07.07.2008, 16:47   #1
Пользователь

Автор темы (Топик Стартер) ArrayList vs CopyOnWriteArrayList

к опытным кодерам - дайте небольшую справку по нюансам работы с этими классами, тоесть в каких случаях какой предпочтительнее с точки зрения производительности.

забыл добавить Vector, хотя он сам по себе является просто синхронизированным ArrayList
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Aquanox вне форума Ответить с цитированием
Непрочитано 08.07.2008, 06:18   #2
Герой

По умолчанию Ответ: ArrayList vs CopyOnWriteArrayList

Ооо,сейчас я накатаю сведения ...
Вообще я с коллекциями почти не работал,т.к толком не изучал их.Однако есть горький опыт в использовании класса FastTable от Javolution ... Он меня очень привлёк одной очень полезной функцией : если в большинстве классов этого рода лист статический (т.е его размер увеличивается только при добавлении элемента и мы можем добавлять их только по порядку или заменять существующие (по индексу)),то в FastTable можно изначально выставить с помощью метода setSize(int size); размер таблицы,тем самым можно в любую свободную ячейку вставить свои данные (не прибегая к использоваию замены данных в ячейке),а остальные не заполненные будут возвращать нулевое значение Но это так,к сведению,так сказать совет.А теперь по теме :
Во-первых очень советую прочитать следующую статью (особенно ближе к её концу) :
_http://www.ibm.com/developerworks/ru/library/j-jtp07233/index.html
По поводу класса Vector,могу сказать,что он действительно использует в основном только синхронизированные методы (synchronized).И такие методы считаются немного медленными по сравнению с обычными.+ ко всему он до сих пор содержит кучу старых методов для взаимодействия со старыми версиями Java .... Но самое отстойное в том,что тут возникает довольно много косяков с синхронизацией.Даже бытует мнение,что есть коосяки в самих классах явы (пакет java) - народ находит как увернутся от этого
Если вы разбираетесь в английском - то советую тогда почитать полную документацию по этим классам :
Здесь - _http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html - по ArrayList.
Здесь - _http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/CopyOnWriteArrayList.html - по CopyOnWriteArrayList.
И здесь - _http://java.sun.com/j2se/1.4.2/docs/api/java/util/Vector.html - по Vector.
На последок хочу сказать,что довольно не плохой вариант - ипользовать в основном класс Collections и если требуется - другие.Т.к каждый класс содержит в себе свойства экстравагантные,т.е которые требуются в зависимости от случая.А вот что брат за основу - это надо решить первым делом.
З.Ы Хотя я не такой уж и опытный кодер,но впрочем вы можете описать,хотябы приблизительно вашу цель и можно будет попробовать реализовать это
CHIPSET вне форума Отправить сообщение для CHIPSET с помощью ICQ Ответить с цитированием
Непрочитано 08.07.2008, 16:32   #3
Пользователь

Автор темы (Топик Стартер) Ответ: ArrayList vs CopyOnWriteArrayList

сановские доки я читал в первую очередь, мне больше было интересно мнение кодеров которые уже на своем опыте это прочуствовали.
размер в любом списке можно установить указав в конструкторе базовый размер.
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Aquanox вне форума Ответить с цитированием
Непрочитано 08.07.2008, 17:33   #4
Герой

По умолчанию Ответ: ArrayList vs CopyOnWriteArrayList

Видимо здесь я промахнулся с мнением =\ Впрочем это не удивительно - знаний у меня в этой области мало,критически (
CHIPSET вне форума Отправить сообщение для CHIPSET с помощью ICQ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 06:50. Часовой пояс GMT +3.

Вверх