
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.03.2013, 17:01:14
|
|||
|---|---|---|---|
|
|||
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты? |
|||
|
#18+
Объект имеет поля - текстовые и числовые.. А так же массив ссылок на такие же объекты (количество элементов массива может быть различным от 1 до 15) и таких объектов примерно 200 тыс.. Подскажите как их в MySQL сохранять (а потом снова загружать в память) Или может быть какой другой способ хранения и загрузки посоветуете? Вот что внутри объекта: пусть он будет называться Object1 Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и таких объектов несколько сот тысяч.. их необходимо периодически сохранять на жесткий диск.. 1) Во время выполнении программы, количество объектов пополняется и через определенный промежуток времени всю структуру нужно сохранить.. 2) в другой программе эти объекты планируется загружать в память и работать с ними (поиск, сортировки и т.д.) __ я пробовал сохранять их просто классами через сериализацию Код: java 1. 2. но сохранение долгое и спустя время почему то выдает ошибку переполнения стека... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.03.2013, 17:13:52
|
|||
|---|---|---|---|
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты? |
|||
|
#18+
Александр2012, Написать в предке СохранитьВпоток (байтовый поток) В каждом классе сохранять поля и передать поток в коллекции. Это если руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.03.2013, 15:05:45
|
|||
|---|---|---|---|
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты? |
|||
|
#18+
Eсли среди полей объекта есть неповторяющееся, однозначно идентифицирующее объект (типа уникальный идентификатор), то вы можете сначала преобразовать объект так, чтобы вместо ссылок на другие объекты в нем хранились идентификаторы. Тогда сериализация будет быстрее и не приведет к переполнению стека. Если сохранять в базу данных, то тем более уникальный идентификатор необходим. Но база данных - это заведомо медленный способ. Если такого поля нет, то заведите его искусственно с помощью IdentityHashMap. Классический способ ускорения сериализации - использование Externalizable. Почитайте http://www.skipy.ru/technics/serialization.html] http://www.skipy.ru/technics/serialization.html . Узнайте об альтернативных библиотеках сериализации на https://github.com/eishay/jvm-serializers/wiki] https://github.com/eishay/jvm-serializers/wiki . Сверхскоростная (по уверениям автора) библиотека - https://github.com/peter-lawrey/Java-Chronicle] https://github.com/peter-lawrey/Java-Chronicle . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2129825]: |
0ms |
get settings: |
15ms |
get forum list: |
33ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
77ms |
get topic data: |
26ms |
get forum data: |
7ms |
get page messages: |
90ms |
get tp. blocked users: |
3ms |
| others: | 295ms |
| total: | 562ms |

| 0 / 0 |
