[Logo]
Forums Register Login
Cloning and Serialization ?
What is the difference between Cloning and Serialization.

It seems almost same.


What i know:
Cloning is making an exact copy of the object and changes to one reflect changes in original object.


But Serializing an object is like saving an object and making it alive when we need it.

Please add anything if you like.......
 

Mahtab Alam wrote:
Cloning is making an exact copy of the object



Yes.

and changes to one reflect changes in original object.



No. Changes to the values of the fields of one will not affect the other. However, in the default, "shallow copy" case, changes to the state of an object pointed to by the field of either object will be seen by the other.


But Serializing an object is like saving an object and making it alive when we need it



That's kind of right. The two main uses for serialization are to persist an object's state across JVM executions, and to transmit an object's state to another JVM over a network.
The two are very different. Serialisation means converting an object to a series of bytes. You can mimic cloning by serialising and deserialising an object, however.
they are as different as Chalk and Cheese.

Cloning is used to make copy of an Object. Though changes in one will reflect changes in other, depending whether it is shallow copy or a deep copy.

Serialization on the other hand is used save the state of an Object. You will serialize an Object to get a stream and save it somewhere and de-serialize it to get your original Object(if that object doesn't contain any transient variable). Serialization is used majorly when you want to send an Object over the network or when you want to play with a pool of Object.
Don't touch me. And dont' touch this tiny ad:
Thread Boost - a very different sort of advertising
https://coderanch.com/t/674455/Thread-Boost-feature


This thread has been viewed 667 times.

All times above are in ranch (not your local) time.
The current ranch time is
Apr 24, 2018 15:15:05.