|
|
|
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
|
|||
|---|---|---|---|
|
#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:01:14 |
|
||
|
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
|
|||
|---|---|---|---|
|
#18+
Александр2012, Написать в предке СохранитьВпоток (байтовый поток) В каждом классе сохранять поля и передать поток в коллекции. Это если руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 17:13:52 |
|
||
|
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
|
|||
|---|---|---|---|
|
#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 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 15:05:45 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2129825]: |
0ms |
get settings: |
18ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
14ms |
get first new msg: |
10ms |
get forum data: |
4ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 328ms |
| total: | 517ms |

| 0 / 0 |
