From: Horst H. von Brand <hidden> Date: 2016-08-11 19:41:36
Shawn Pearce [off-list ref] wrote:
[...]
And yet I get good delta compression on a number of ZIP formatted
files which don't get good additional zlib compression (<3%).
.zip is something like a tar of the compressed files, if the files inside
the archive don't change, the deltas will be small.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
And yet I get good delta compression on a number of ZIP formatted
files which don't get good additional zlib compression (<3%).
.zip is something like a tar of the compressed files, if the files inside
the archive don't change, the deltas will be small.
Yes, especially when the new zip is made using the exact same
software with the same parameters, so the resulting compressed file
stream is identical for files whose content has not changed. :-)
Since this is actually a JAR full of Java classes which have
been recompiled, its even more interesting that javac produced an
identical class file given the same input. I've seen times where
it doesn't thanks to the automatic serialVersionUID field being
somewhat randomly generated.
--
identical class file given the same input. I've seen times where
it doesn't thanks to the automatic serialVersionUID field being
somewhat randomly generated.
Probably offline, but… serialVersionUID isn't randomly generated. It's
calculated using the types of fields in the class, recursively. The actual
algorithm is quite arbitrary, but not random. The automatically generated
serialVersionUID should change only if you add/remove class fields (either on
the class itself, or to the class of nested objects).
*sigh* Java chases me. 8+ hours of java work everyday, and when I finally get
home… there it is, looking at me again. *sob*
-- Pazu
From: Robin Rosenberg <hidden> Date: 2016-08-11 20:45:16
fredag 15 december 2006 22:49 skrev Pazu:
Shawn Pearce <spearce <at> spearce.org> writes:
quoted
identical class file given the same input. I've seen times where
it doesn't thanks to the automatic serialVersionUID field being
somewhat randomly generated.
Probably offline, but… serialVersionUID isn't randomly generated. It's
calculated using the types of fields in the class, recursively. The actual
algorithm is quite arbitrary, but not random. The automatically generated
serialVersionUID should change only if you add/remove class fields (either
on the class itself, or to the class of nested objects).
Different java compilers (e.g. SUN's javac and Eclipse) generate slipghtly
different code for some cases, including somee synthetic member fields. that
get involved in the UID calculation. Neither compiler is wrong. The java
specifications don't cover all cases.