powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Сохранение объекта
65 сообщений из 65, показаны все 3 страниц
Сохранение объекта
    #39031539
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется объект в котором хранятся параметры. Он представляет композицию из многих generic полей и коллекций, в том числе вложенных. С этим объектом производятся только операции сохранения и редактирования, т.е. поиск по каким-то отдельным полям и другие операции не требуются. Никаких ограничений на внешние ключи нет. В приложении порядка 100 объектов такого типа.
Возникает вопрос где и как такой объект лучше хранить и как. Подключать документную БД типа mongo ради 100 объектов вроде бы не правильно. Можно делать сериализацию и хранить полученный массив просто как отдельный столбец в БД(rdbms), или конвертировать объект в json (Gson) и опять же хранить просто как столбец в БД. Но тут возникает проблема связанная с тем, что этот класс этих объектов время от времени будет изменяться (могут добавляться новые поля, или могут быть удалены существующие).
Как лучше всего решить такую задачу?
Спасибо.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031559
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,

не подойдёт?
Хранить можно прямо в файлах, сотня файлов по-моему не проблема.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031567
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick, а что будет, если после сохранения класс объекта изменился и нужно по старым данным создать объект измененного класса? Какие возможности есть? В Gson есть аннотация @Since как раз для этой цели, но пока никаких примеров реального использования в таком ключе я не нашел.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031583
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,

Ну, я так понимаю, что можно будет восстановить те поля, что есть в XML. Вы же сами можете прописать все "мапинги" полей. Соответственно, при изменении структуры, при необходимости должны будете изменить и код ридера.
См. Применение XStream для сериализации Java-объектов в XML
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031594
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmВозникает вопрос где и как такой объект лучше хранить и как.
Казалось бы тривиальный ответ: так чтобы было как можно меньше преобразований для совершения необходимых действий.
Но ведь сколько копий можно сломать. :)
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031613
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmИмеется объект в котором хранятся параметры. Он представляет композицию из многих generic полей и коллекций, в том числе вложенных. С этим объектом производятся только операции сохранения и редактирования, т.е. поиск по каким-то отдельным полям и другие операции не требуются. Никаких ограничений на внешние ключи нет. В приложении порядка 100 объектов такого типа.
Возникает вопрос где и как такой объект лучше хранить и как. Подключать документную БД типа mongo ради 100 объектов вроде бы не правильно. Можно делать сериализацию и хранить полученный массив просто как отдельный столбец в БД(rdbms), или конвертировать объект в json (Gson) и опять же хранить просто как столбец в БД. Но тут возникает проблема связанная с тем, что этот класс этих объектов время от времени будет изменяться (могут добавляться новые поля, или могут быть удалены существующие).
Как лучше всего решить такую задачу?
Спасибо.

Если говорить о "правильно".
То тогда нужно проанализировать данные.
Создать БД. Довести ее хотя бы до 3 НФ.
Сделать слой который будет сериализовать/десериализовать ваш объект в БД.

Если данные, совсем не подходят для РМД, то забить на все и хранить в XML.
сериализовать/десериализовать через SAX.

Тут зависит от задачи... и от вашей лени :-)
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulЕсли говорить о "правильно".
То тогда нужно проанализировать данные.
Создать БД. Довести ее хотя бы до 3 НФ.
Сделать слой который будет сериализовать/десериализовать ваш объект в БД.

Если данные, совсем не подходят для РМД, то забить на все и хранить в XML.
сериализовать/десериализовать через SAX.

Тут зависит от задачи... и от вашей лени :-)
+1
странно что автор шёл не от модели в РСУБД, а от, к примеру UML.
И теперь думает как всю эту байду сохранять.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031651
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul, объект представляет собой большой граф, так что "Создать БД. Довести ее хотя бы до 3 НФ." — это долго и лень.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031654
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
авторImagine you have an online gaming site, with a database that stores statistics of players in different online games (played in-browser, written in GWT and cross-compiled to javascript). Some of the games are strategic, some are action games, some are platformers. The database is relational and stores players and history of plays and the score.

One day you get an additional requirement: let the players save the game state to the cloud, during the game, so they can restart the game later, at the same point. Needless to say, the only reason to store this temporary state is to return to the game, the state itself will never be introspected.

Now you have two basic choices:

since the games are written in Java, you can quite easily take the model, send it to the server, serialize it in one line of code and store as a blob. The table will be called "saved_games" and it will have foreign keys to the player and so on. From the point of view of the database a "save game" is an opaque, indivisible blob.

you can create a separate relational model for each of your 100 games (this will be tens of tables per game). For pacman alone, for example, you will have to have a table storing positions of all the uneaten pellets, bonuses, positions and current state of ghosts. If someone, someday, modifies the game, even slightly, you will have to update the relational model. Also, for each type of game, you will have to implement a logic to write the Java model to the database, and to read it back.

The answer by Justin Cave says, that you should go with the second option. I think this would be a huge mistake.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031660
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul, как я понял, я должен сам реализовать SAX?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031672
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
gaming site
....
ну дак я наверно пропустил что у вас игровой движёк. Разумется там архитектура другая.
Там вообще всё другое)) начиная от самого АппСервера.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031674
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
в игровых движка - сцена.
Там автоматом при разработке продумываю экспорт-импорт объектов.
Ты же читаешь сцену при загрузке?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031681
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, этот как пример просто. Но суть такая же. Есть большой объект, который маппить в БД нет смысла.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031705
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmPetro123, этот как пример просто. Но суть такая же. Есть большой объект, который маппить в БД нет смысла.
наверно ты думаешь, что аналогов в мире нету....(просто пример)
- сохраняй и читай из двоичного файла. Быстрее не бывает.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39031993
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmad_nazgul, объект представляет собой большой граф, так что "Создать БД. Довести ее хотя бы до 3 НФ." — это долго и лень.

Это он в объектной модели так выглядит.
А как он выглядит в реляционной модели?

А если лень, то как я и говорил храним в XML и парсим не ч/з DOM модель, а ч/з поток управляемый событиями (SAX).

Т.е. если структура меняется, то просто добавляются новые события :-)
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032166
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul, например

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class A {

Collection<B<S1>> collection;
}

class B<T> {
T field;
Collection<C<S2, S3>> collection;


}

class C<T,K> {

SomeType<T,K> field;

}



Какой Ваш вариант реляционной модели для такого объекта класса A?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032199
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
добавлением в классы
SaveToStream(Stream);
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032228
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm, а самый простой и прямой способ с сериализацией ты попробовал?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032388
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, я пока ничего не пробовал. Но если после сохранения класс чуть поменять, с десериализацией не возникнет проблем(всякие serialId и прочее)?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032416
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
не договариваете.
- вы писали, что _уже_ сохраняете объект и редактируете. Куда? Или в опреативке?
- если параметры или ветки параметров имеют значения для БЛ, то вестимо нужно обрабатывать версии. Либо без поддерки версии сразу вырезать ветку вместе с кодом по его обслуге (БЛ)
- если не имеют значения, то и версия не нужна. И сам объект тоже)).
Тогда почему странный вопрос про нужность версии при сериализации?
OFF - Я так понял, что классы не вы писали?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032431
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmayton, я пока ничего не пробовал. Но если после сохранения класс чуть поменять, с десериализацией не возникнет проблем(всякие serialId и прочее)?
1) Если ты будешь следовать правилу менять магическое число serialId каждый раз когда вносишь изменения
в поля то всё будет ОК.

2) Ты можешь реализовать интерфейс Externalizable и вручную управлять порядком сохранения полей и рекурсивных вложенных
сущностей. В этом случае тебе пофигу на serialId т.к. логика десериализации и сериализации полностью на твою ответственность.
Кстати Externalizable по всем бенчмаркам работает быстрее чем вариант (1).

Пробуй базовый функционал который изначально заложен в язык и JDK.

XML, JSON и прочие МонгоДБ - пойдут уже тогда когда ты осознаешь недостатки базовых возможностей.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032435
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, классы есть, хранятся в памяти.
Не совсем понял Вашу мысль.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032439
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, Можете меня еще кратко просветить по поводу SAX, DOM, JAXB, JDOM, Jaksonы и прочее. Это все работает в оба конца? Т.е. и Object to XML и XML to Object? Т.е. могу я сам описать программно логику трансляции объекта в XML?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032449
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmНе совсем понял Вашу мысль.
сохранять или сохранять в поток или сериализация (mayton) - одно и то же.
Странно что вы о сериализации не подумали в 1 очередь.
Про версии - кроме вас никто не скажет - нужно ли оно вам. Если у вас пришёл объект на 50% с другими полями.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032469
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmayton, Можете меня еще кратко просветить по поводу SAX, DOM, JAXB, JDOM, Jaksonы и прочее. Это все работает в оба конца? Т.е. и Object to XML и XML to Object? Т.е. могу я сам описать программно логику трансляции объекта в XML?

Для понимания всех этих страшных слов, нужно знать всего две вещи:

DOM - Загружает всю xml в структуру типа дерево.
Потом с этой структурой можно работать.
Перегнать, например в объект.

SAX работает по другому.
Последовательно читается xml.
И при открытия или закрытия тега вызывается соответствующий обработчик (который заранее нужно записать и закаллбачить).

Аналогично и в обратную сторону.

Это очень грубое описание, т.к. в обоих случаях куча нюансов.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032485
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul, не могу найти пример, в котором описывается как используя SAX конвертировать объект в XML.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032494
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul, т.е. меня больше интересует как из объекта сделать XML, какие для этого варианты существуют кроме DOM и JAXB.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032502
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032507
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmad_nazgul, т.е. меня больше интересует как из объекта сделать XML, какие для этого варианты существуют кроме DOM и JAXB.
Их на самом деле как грязи, но помимо JAXB и XStream особо интересных вариантов нет.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032511
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, JAXB это всегда работа аннотациями? При изменении класса с добавлением новых полей с аннотациями и попыткой создать объект из ранее сохраненного XML все сломается?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032515
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmBlazkowicz, JAXB это всегда работа аннотациями?
Нет.

rdmПри изменении класса с добавлением новых полей с аннотациями и попыткой создать объект из ранее сохраненного XML все сломается?
Нет. Зависит от совместимости XSD. Там могут быть строгие и не строгие правила. Если XML обратно не совместим, то и де-сериализация обратно не совместима тоже.

Java сериализация, ведь, тоже обратную совместимость поддерживает.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032609
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmayton, Можете меня еще кратко просветить по поводу SAX, DOM, JAXB, JDOM, Jaksonы и прочее. Это все работает в оба конца? Т.е. и Object to XML и XML to Object? Т.е. могу я сам описать программно логику трансляции объекта в XML?
Да. При использовании Externalizable ты сможешь контролировать каждый символ и каждый байт.
Да. Работает в оба конца... Должно работать... Но названия технологий не двунаправленные. Например SAX - это исторически
принято использовать как API для потокового разбора тегов XML. Тоесть для чтения в основном.

По всем остальным - это тема целых топков и я не в состоянии дать им характеристику в рамках 1 месседжа.
Каждая из них заслуживает целой таблицы характеристик.

Существуют коробочные решения твоего вопроса базироующиеся на аннотациях. Но этот
вариант лучше попробовать после Serializable.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032628
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
maytonНо этот вариант лучше попробовать после Serializable

XML нагляднее. Можно контролировать что и как конвертировалось и сразу понять правильно или нет.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032633
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmXML нагляднее. Можно контролировать что и как конвертировалось и сразу понять правильно или нет.
JSON
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032648
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YAML

раз уж пошла такая пьянка.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032659
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бинарный поток.
А текстовый только для отладки - это смешно))
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032678
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123бинарный поток.
А текстовый только для отладки - это смешно))
Смотря что он сохраняет. В наш век неструктурированных данных почти 90% всего это Strings.
Поэтому особых накладных и не будет. Гетерогенность тоже кстати не помешает.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032695
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Главное поиска в бд не будет.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032712
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сохранять полученное значений (сериализация или XML/Json) в blob/text столбце БД нормально?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39032818
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmСохранять полученное значений (сериализация или XML/Json) в blob/text столбце БД нормально?

Можно, но особого смысла нет.
Если сохранять в файловую систему, то можно натравить что-то вроде solr для индексации и поиска.
Тот же solr можно натравить, на БД... Но смысла в этом опять же ноль.
Т.к. фактически будете работать только с solr.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033060
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul, так мне индексация и поиск не нужны.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033075
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmad_nazgul, так мне индексация и поиск не нужны.
ну он и сказал - что смысла нет.
Что воду в ступе толочь).
Ты дату в каком виде сохранять собрался?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033112
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmСохранять полученное значений (сериализация или XML/Json) в blob/text столбце БД нормально?
Мне непонятна форма подачи вопроса. Что значит НОРМ или НЕНОРМ? Мы можем жонглировать
этими критериями когда знаем кучу условностей. Поддержка API. Тип БД. Класс системы. Хранилище там или OLTP. Требования
к стоимости хранения (владения). Требования к надёжности. Бэкапам и т.п.

По сабжу Oracle начиная с 11g поддерживает JSON как функциональный API поверх BLOB/CLOB типов
данных наполняя их соотв. семантикой. Ищите ключевые слова json_query, json_value, json_exists

Поэтому Oracle (и я вместе с ним) считаем что это как-бе нормально. Архитектура позволяет.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033123
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, все намного банальнее. Я спрашиваю, как это сохранять xml как простую строку в поле text базы данных типа Mysql.
Т.е. либо так не надо делать и надо хранить небольшое количество xml только в отдельных файлах, или такая практика хранить xml в текстовом поле вполне нормальная.
Мне не нужна поддержка каких либо запросов, как json/xml api в Oracle.

И еще. Я вот никак не могу понять, для чего используется Apache Jackrabbit
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033132
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
ну уж, хранить в БД или файлах это вообще монописуальный вопрос.
А так, уже сказал Сергей Арсеньев.
Чем меньше ненужных телодвижений, тем лучше.
Можно ведь и над переносом строк в XML задуматься.
А потом след.программист придёт и спросит, а нафига вообще тут XML.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033161
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmayton, все намного банальнее. Я спрашиваю, как это сохранять xml как простую строку в поле text базы данных типа Mysql.
Т.е. либо так не надо делать и надо хранить небольшое количество xml только в отдельных файлах, или такая практика хранить xml в текстовом поле вполне нормальная.
Мне не нужна поддержка каких либо запросов, как json/xml api в Oracle.

И еще. Я вот никак не могу понять, для чего используется Apache Jackrabbit

IMHO в общем случае лучше хранить XML в отдельных файлах.
Для этого файловая система и придумана.
:-)
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033194
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulIMHO в общем случае лучше хранить XML в отдельных файлах.
Для этого файловая система и придумана.
:-)
+1

Файловая система имеет практически нулевые накладные расходны на CPU и ее не надо
прописывать в автозапуск ОС. Креме того трабл шутинг будет тривиален. Достаточно
зайти в директорию и текстовым редактором посмотреть чё как.

Единственный нюанс - при смешанной модели MySQL + FileSystem нужно очень аккуратно
бэкапить чтобы не потерять связи.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033204
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, mad_nazgul

а что там с транзакциями в файловой системе?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033213
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczmayton, mad_nazgul

а что там с транзакциями в файловой системе?

При чем тут файловая система и транзакции :-)
Транзакции на уровне приложения.

Если полетела дисковая подсистема, то тут даже БД не поможет :-)
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033222
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, XADisk двухфазные
...
Рейтинг: 0 / 0
Сохранение объекта
    #39033394
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczmayton, mad_nazgul

а что там с транзакциями в файловой системе?
На откуп разработчику. Он сам определяет критерии их фиксации.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39048539
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а что насчет protocol buffers? В интернете много тем protocol buffers vs serialization.
Я попробовал использовать простой механизм сериализации для своей задачи, но столкнулся с огромным количеством проблем (конструкторы, финальные поля, статические поля)
...
Рейтинг: 0 / 0
Сохранение объекта
    #39048551
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вики пишут лажу
https://ru.wikipedia.org/wiki/Protocol_Buffers От 3 до 10 раз меньше
От 20 до 100 раз быстрее

1)
Во сколько раз меньше - определяется схемой и составом информации. Но насчёт 10 раз это явно какое-то
хвастовство.

До 100 раз быстрее - это тоже хрень какая-то. 100 раз по сравнению с чем? Современные средстав SAX/Digester/JAX
достаточно быстры чтобы вести учёт скорости I/O.

2) Я-бы сравнивал с EBML а не с XML.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39048558
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, Я правильно понимаю, что всем этим Protocol Buffers, Apache Thrift, Apache Avro можно отдавать только простые типы, и объектный граф им не отдать?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39048560
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравнение разных решений https://github.com/eishay/jvm-serializers/wiki, может кому интересно.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39048567
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmmayton, Я правильно понимаю, что всем этим Protocol Buffers, Apache Thrift, Apache Avro можно отдавать только простые типы, и объектный граф им не отдать?
Я не вникал. Я просто исходя из своей инженерной интуиции отметил вопиющий маркетинговый
бред который любят парить хомякам на презентациях.

100 раз бл..ть. Это вам не йух собачий. Мдя.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39048572
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати для тех кто невкурсе *.mkv видео файлы это и есть EBML.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049726
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не получилось с Jackson и Gson, предполагаю что ситуация с XStream такая же.
Какая хорошая библиотека для работы с json напрямую (без мапинга) типа Jackson Stream?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049734
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто-нибудь знает как обойти это ограничение?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049739
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
Да. Он быстрее.
Толку то что.
Не всегда пишут то что быстрее.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049742
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе mayton советовал метод Externalizable.
Не подошло?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049774
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, нет, так как надо передавать json на frontend и получать с него json, поэтому логично и хранить в json.
Только с jackson'ом как-то туго получается.
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049797
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmна frontend
аааа... ну этого у тебя не было изначально.
Толстый клиент что-ли?
Зачем на клиенте классы со всякой фигнёй под ООП?
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049819
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, как раз раньше была возможность использовать шаблонизатор (типа freemarker) и передавать ему прямо граф объектов, т.е. без json/xml и соответственно просто делать сериализацию для хранения объектов на диске.
Теперь приходиться возиться с json
...
Рейтинг: 0 / 0
Сохранение объекта
    #39049875
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdm,
я так и не понял что вы ответили.
- в роли клиента у вас HDD диск?
- вам давали совет почти месяц назад. Не понятно почему не воспользовались и кинулись на двоичный формат Buffer
...
Рейтинг: 0 / 0
65 сообщений из 65, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Сохранение объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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