What is serialVersionUID in Java?

In Java, the serialVersionUID is a unique identifier for Serializable classes. It is used during the deserialization process to verify that the sender and receiver of a serialized object have loaded classes that are compatible with respect to serialization. If no matching serialVersionUID is found, an InvalidClassException is thrown.

The serialVersionUID is especially important in a distributed environment where different versions of a class may be present due to updates. By declaring a serialVersionUID, you ensure that your class has a specific version, thus allowing compatibility checks during the deserialization process.

Example of serialVersionUID in a Serializable class:

import java.io.Serializable; public class MyClass implements Serializable { private static final long serialVersionUID = 1L; // Unique ID for this class private String name; // Getters and Setters public String getName() { return name; } public void setName(String name) { this.name = name; } }

serialVersionUID Java serialization Serializable classes InvalidClassException deserialization process