Представление Java сериализованных объектов

Другая важная техника регрессионное тестирование . В этой технике Вы поддерживаете комплект тестов (названный комплектом регрессии), которые обычно выполняются ночью, а также перед каждой регистрацией. Каждый раз, когда у Вас есть исправление ошибки, Вы добавляете один или несколько тестов к комплекту. Цель состоит в том, чтобы мешать Вам повторно представить старые ошибки, которые были уже исправлены. (Проблема удивительно распространена!)

Начинают накапливать Ваш комплект регрессии рано, прежде чем Ваш проект станет большим, или Вы будете сожалеть о нем. Я, конечно, имею!

7
задан reprogrammer 13 January 2012 в 06:20
поделиться

7 ответов

Мне нравится пример Object.hashCode () @Stephen C. Если такие недетерминированные хэш-коды сериализованы, то при десериализации хэш-коды будут бесполезны. Например, если мы сериализуем HashMap, который работает на основе Object.hashCode (), его десериализованная версия будет вести себя иначе, чем исходная карта. То есть поиск одного и того же объекта даст нам разные результаты на двух картах.

1
ответ дан 6 December 2019 в 19:39
поделиться

Требуется спецификация сериализации объектов Java по адресу http://java.sun.com/javase/6/docs/platform/ serialization / spec / protocol.html .

10
ответ дан 6 December 2019 в 19:39
поделиться

Если у вас есть два объекта, все свойства которых имеют одинаковые значения, то они будут сериализованы одинаково.

Если бы это не повторялось, это было бы бесполезно!

2
ответ дан 6 December 2019 в 19:39
поделиться

Они всегда будут сериализовать его одинаково. Если бы это было не так, не было бы никакой гарантии, что другая программа сможет правильно десериализовать данные, что противоречит цели сериализации.

1
ответ дан 6 December 2019 в 19:39
поделиться

Обычно выполнение одного и того же однопоточного алгоритма с одними и теми же данными приводит к тому же результату.

Однако такие вещи, как порядок, в котором сериализуется HashSet записи не гарантируются. Действительно, объект может быть слегка изменен при сериализации.

1
ответ дан 6 December 2019 в 19:39
поделиться

Если вам не нужен двоичный файл, вы можете использовать JSON ( http://www.json.org/example.html ) в java http: //www.json.org/java/

или XML, если на то пошло http://www.developer.com/xml/article.php/1377961/Serializing-Java-Objects-as-XML.htm

0
ответ дан 6 December 2019 в 19:39
поделиться

Я ищу формат, который Java используется для сериализации объектов.

Чтобы не быть глупым, он как-то их записывает. Как именно это может и, вероятно, должно быть определено вами. Персонаж сопоставляется с ... эээ, он участвует, но вместо того, чтобы заново изобретать колесо, позвольте нам спросить, что именно вам нужно иметь в наличии, чтобы восстановить объект в каком состоянии?

Сериализация по умолчанию сериализует объект в двоичном формате.

Итак? (опять же, не пытаюсь вести себя глупо - звучит так, будто нам нужно определить проблему, которая может не иметь данных)

Мне любопытно узнать, если два прогона программа может сериализовать один и тот же объект иначе.

Если бы у вас был поток информации, как бы вы определить, в какие состояния необходимо восстановить объект?

-2
ответ дан 6 December 2019 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: