 <p>Marshaling is almost the same as serialization. The difference (in Java context) is in remote object handling, as specified in <a href="http://tools.ietf.org/html/rfc2713" rel="nofollow">rfc2713</a>. </p> <p>As for hash code value: it depends on how the object calculates its hash code. If it's calculated from the fields only, then it obviously is same as the unmarshaled object is <em>equal</em> to the original one. But if it uses <code>Object</code>'s original <code>hashCode</code>, then it's whatever the JVM happens to give to that object, and will vary from instance to instance.</p>