File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes serial Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "serial" Watch "serial" New topic


arjun krishna

Joined: Mar 02, 2006
Posts: 7
Can any body explain me what is the serialVersionUID ?
Where it is used?
Lasse Koskela

Joined: Jan 23, 2002
Posts: 11962
Moving to Java in General -- this is a question about Java, not Object-Oriented Scripting.

Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Henry Wong

Joined: Sep 28, 2004
Posts: 20516

Originally posted by arjun krishna:
Can any body explain me what is the serialVersionUID ?
Where it is used?

When you serialize an object to a datastream, one of the items created is a version ID. It is basically some sort of checksum based on the instance variables, their types, etc. They way, if you change the class, and try to create an instance from the serialize data, it will fail -- as the class has been changed.

Unfortunately, it may too sensitive. So they allow the programmer to create the checksum. If you add a variable "serialVersionUID", it will use that as the checksum, instead of calculating it.


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
I agree. Here's the link:
subject: serial
It's not a secret anymore!