Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как сохранить объекты содержащие в себе массив ссылок на такие же объекты? / 4 сообщений из 4, страница 1 из 1
08.03.2013, 17:01:14
    #38178139
Александр2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
Объект имеет поля - текстовые и числовые..
А так же массив ссылок на такие же объекты

(количество элементов массива может быть различным от 1 до 15)

и таких объектов примерно 200 тыс..

Подскажите как их в MySQL сохранять (а потом снова загружать в память)
Или может быть какой другой способ хранения и загрузки посоветуете?

Вот что внутри объекта:
пусть он будет называться Object1
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  private int ...;
    private int ...;
    private String ...;
    private Object1 ... ;
    private int ...;
    private String ...;
....
....
    private ArrayList<Object1> ....;
    private ArrayList<Object2> ...; 



и таких объектов несколько сот тысяч..
их необходимо периодически сохранять на жесткий диск..
1) Во время выполнении программы, количество объектов пополняется и через определенный промежуток времени всю структуру нужно сохранить..
2) в другой программе эти объекты планируется загружать в память и работать с ними (поиск, сортировки и т.д.)
__
я пробовал сохранять их просто классами через сериализацию
Код: java
1.
2.
public class Object1 implements Serializable {
...


но сохранение долгое и спустя время почему то выдает ошибку переполнения стека...
...
Рейтинг: 0 / 0
08.03.2013, 17:13:52
    #38178147
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
Александр2012,
Написать в предке
СохранитьВпоток (байтовый поток)
В каждом классе сохранять поля и передать поток в коллекции.
Это если руками.
...
Рейтинг: 0 / 0
09.03.2013, 15:05:45
    #38178448
rfq
rfq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
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 .
...
Рейтинг: 0 / 0
10.03.2013, 00:27:48
    #38178669
Александр2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сохранить объекты содержащие в себе массив ссылок на такие же объекты?
Спасибо вам огромное, уважаемый из Новосибирска! :) (буду изучать..)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как сохранить объекты содержащие в себе массив ссылок на такие же объекты? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]