Ich will verifizieren ob Serialisierung (aktuell Standard Java ObjectOutputStream) wirklich das identische Objekt zurueckliefert. Dabei ist der ganze Code der die Objekte erzeugt nicht meiner. Die Objekte beinhalten sehr stark verschachtelte Datenstrukturen (AST von Code). Ein simples equals reicht da nicht aus, da nur an der Oberflaeche gekratzt wird ob bei den Objekten eine handvoll an Eigenschaften gleich sind.
Meine Idee ist, einfach ein normal erzeugtes Objekt zu serialisieren und wieder in ein neues Objekt zu deserialisieren und dann das alte und neue Objekt "bitgenau" zu vergleichen. Die Frage ist nur, wie kriege ich die Objekte in "bit-form" damit ich sie vergleichen kann? Gibt es da vielleicht irgendeinen Trick oder Mechanismus den ich nicht kenne? Kann die JVM selbst irgendwie aushelfen?
Ganz toll waere es natuerlich wenn ich dann sogar irgendwie aufspueren koennte wo die Objekte sich unterscheiden falls dies der Fall sein sollte. Also z.B. dass beim deserialisierten Objekt irgendwelche kleinen Interna durch das Serialisieren "vergessen" wurden oder dass beim Deserialisieren etwas schief laeuft.
Meine Idee ist, einfach ein normal erzeugtes Objekt zu serialisieren und wieder in ein neues Objekt zu deserialisieren und dann das alte und neue Objekt "bitgenau" zu vergleichen. Die Frage ist nur, wie kriege ich die Objekte in "bit-form" damit ich sie vergleichen kann? Gibt es da vielleicht irgendeinen Trick oder Mechanismus den ich nicht kenne? Kann die JVM selbst irgendwie aushelfen?
Ganz toll waere es natuerlich wenn ich dann sogar irgendwie aufspueren koennte wo die Objekte sich unterscheiden falls dies der Fall sein sollte. Also z.B. dass beim deserialisierten Objekt irgendwelche kleinen Interna durch das Serialisieren "vergessen" wurden oder dass beim Deserialisieren etwas schief laeuft.