serialVersionUID denotes the version number of a serialized Java class. All serialized Java classes with the same serial Version UID and name are considered to be compatible, even if the actual Java classes from which they originated are different.
This can easily happen when you serialize one version of a class, change its structure (add a field, for example), then serialize some more instances. Without a serial Version UID field, Java would refuse to load the older version into the newer class with the additional field. With the serial Version UID field, Java will still load the older version into the new class, but will set the value of the new field to 0, null, or false, as appropriate to its data type.