Explanation of the role of Serialversionuid in Java

Source: Internet
Author: User

Reproduced from: http://www.blogjava.net/invisibletank/archive/2007/11/15/160684.html

Serialversionuid: Deserialization retains the uniqueness of the object in order to maintain version compatibility, that is, deserialization at version upgrade.
There are two ways to build:
One is the default 1L, for example: private static final long serialversionuid = 1L;
One is to generate a 64-bit hash field based on the class name, interface name, member method, and properties, for example:
Private static final long serialversionuid = XXXXL;

When you implement a serializable interface for a class, if there is no definition serialversionuid,eclipse will provide this
The hint function tells you to define. When you click on the warning icon in the class in eclipse, Eclipse will
Automatically given two ways of generating. If you do not want to define it, in the settings of Eclipse also
You can turn it off, set the following:
Window ==> Preferences ==> Java ==> Compiler ==> error/warnings ==>
Potential programming problems
Change the serializable class without serialversionuid warning to ignore.

If you do not consider the compatibility issue, turn it off, but this function is good, as long as any category to achieve serializable this interface, if not joined Serialversionuid,eclipse will give you warning prompts, This serialversionuid to make the category serializable backward compatible.

If your class serialized to the hard disk, but then you change the category field (add or decrease or rename), when you deserialize, there will be exception, which will cause incompatibility problems.

However, when Serialversionuid is in the same place, it will deserialize the different field to the default value of type to avoid incompatibility problems.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.