SERIALIZATION:-serialization is the process of maintaing object in the form stream.it is useful in case of remoting. 2.Serialization is the process of converting object into byte stream which is useful to transport object(i.e remoting) persisting object(i.e files database) 3.SERIALIZATION IS PROCESS OF LODING THE OBJECT STATE IN THE FORM OF BYTE STREAMS IN DATABASE/FILE SYATEM. 4.Serialization in .NET allows the programmer to take an instance of an object and convert it into a format that is easily transmittable over the network or even stored in a database or file system. This object will actually be an instance of a custom type including any properties or fields you may have set 5.using Serialization instead of DataInput/DataOutput streams has a major impact on versioning . Serialization keeps a lot of metadata in the stream. This makes detecting format changes very easy, but can really complicate backward compatibility.Also,serialization is geared toward preserving the connections of an object graph, which is behind a lot of the differences you mentioned.