Другая важная техника регрессионное тестирование . В этой технике Вы поддерживаете комплект тестов (названный комплектом регрессии), которые обычно выполняются ночью, а также перед каждой регистрацией. Каждый раз, когда у Вас есть исправление ошибки, Вы добавляете один или несколько тестов к комплекту. Цель состоит в том, чтобы мешать Вам повторно представить старые ошибки, которые были уже исправлены. (Проблема удивительно распространена!)
Начинают накапливать Ваш комплект регрессии рано, прежде чем Ваш проект станет большим, или Вы будете сожалеть о нем. Я, конечно, имею!
Мне нравится пример Object.hashCode () @Stephen C. Если такие недетерминированные хэш-коды сериализованы, то при десериализации хэш-коды будут бесполезны. Например, если мы сериализуем HashMap, который работает на основе Object.hashCode (), его десериализованная версия будет вести себя иначе, чем исходная карта. То есть поиск одного и того же объекта даст нам разные результаты на двух картах.
Требуется спецификация сериализации объектов Java по адресу http://java.sun.com/javase/6/docs/platform/ serialization / spec / protocol.html .
Если у вас есть два объекта, все свойства которых имеют одинаковые значения, то они будут сериализованы одинаково.
Если бы это не повторялось, это было бы бесполезно!
Они всегда будут сериализовать его одинаково. Если бы это было не так, не было бы никакой гарантии, что другая программа сможет правильно десериализовать данные, что противоречит цели сериализации.
Обычно выполнение одного и того же однопоточного алгоритма с одними и теми же данными приводит к тому же результату.
Однако такие вещи, как порядок, в котором сериализуется HashSet
записи не гарантируются. Действительно, объект может быть слегка изменен при сериализации.
Если вам не нужен двоичный файл, вы можете использовать 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
Я ищу формат, который Java используется для сериализации объектов.
Чтобы не быть глупым, он как-то их записывает. Как именно это может и, вероятно, должно быть определено вами. Персонаж сопоставляется с ... эээ, он участвует, но вместо того, чтобы заново изобретать колесо, позвольте нам спросить, что именно вам нужно иметь в наличии, чтобы восстановить объект в каком состоянии?
Сериализация по умолчанию сериализует объект в двоичном формате.
Итак? (опять же, не пытаюсь вести себя глупо - звучит так, будто нам нужно определить проблему, которая может не иметь данных)
Мне любопытно узнать, если два прогона программа может сериализовать один и тот же объект иначе.
Если бы у вас был поток информации, как бы вы определить, в какие состояния необходимо восстановить объект?