![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| goodday1941 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 1 Всего: 9 |
как в jave вообще определить размер обьекта?
к примеру какой обект будет больше весить ArrayList или Object[] (если данные и там и там одинаковы)? в общем хотелось бы путевых ссылочек по САБЖУ ЗЫ.. нужно для оптимизации трафика в проекте над которым я щас работаю -------------------- SCJP 6 |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 5 Всего: 13 |
имхо, это все фигня, ибо структура данных она не в трафике, она в памяти. Список от массива чем отличается, что один в памяти последовательно лежит и мы по индексу можем доступиться до любого элемента, зная где лежит первая ячейка и длину массива, а список он, теоретически, ограничен хипом, там хранится у каждого элемента ссылка на следующий элемент, а в ряде случаев и на предыдущий и надо знать только где искать первый элемент. А в трафике что, там тупо байтики идут один за другим, зачем нам хрунить структуру при передаче? нам достаточно знать что это была за структура, чтобы на другом конце ее восстанговить, если надо, и надо ли соблюдать последовательность в этой структуре, так что касательно списка, тут смело можно обходиться массивом. А размер объекта можно определить сериализовав его или посмотрев в профайлере. Кстати, а как передача идет? Часом не через сериализацию?
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| goodday1941 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 1 Всего: 9 |
передпача через сокеты (написали свой аналог jms)...
передаеться ObjectStream ну это да тоесть вопрос даже не как определить размер (его я пост фактум при передаче вижу)... а скорее как уменьшить размер, тоесть где мона прочитать про размер того или иного обьекта? -------------------- SCJP 6 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
ArrayList использует внутри Object[], да еще и не шибко оптимально, так что он весит всяко больше чем просто Object[].
Добавлено через 12 минут Чтобы минимизировать объем трафика, лучше разработать свой протокол, т.к. сериализация не слишком оптимальная штука. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Реализация java.io.Externalizable спасёт отца русской демократии. К тому же, работать будет быстрее. -------------------- ![]() ![]() |
|||
|
||||
| LSD |
|
||||||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Работать будет быстрей, а вот насчет спасет не уверен. Простой тест:
Получаем, для 1 объекта:
Для 100:
Добавлено через 4 минуты и 31 секунду А информации там на 16 байт. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||||||
|
|||||||||
| xaoc2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "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. |