Why Serialization ?
- Used to re-create object into its original state (In another JVM).
- Converts object to stream of bytes for easy shipment of information.
- Saves the state of the object for recreation without having to reprocess them in different platform.
Concept : How serialization happens ?
- DataStructure exist in all languages : Could be array, Object, Map etc
- Diffuclut comes when we transfer the data structure over a network or store it in a file and another program reads it.
- So to do that we serialise these data structure and store it in a file using seralization.
- Seraization can be done use json, yml or xml and any such method. i.e just flating out into a string so that it can be recreated(deserialize) by another program once read
Java is planning to remove serialization from java language in future
package Layering; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; class Demo implements java.io.Serializable { public int a; public String b; public Demo(int a, String b) { this.a = a; this.b = b; } } class Test { public static void main(String[] args) { Demo object = new Demo(1, "helloSeralization"); String filename = "file.ser"; try { FileOutputStream file = new FileOutputStream(filename); ObjectOutputStream out = new ObjectOutputStream(file); out.writeObject(object); out.close(); file.close(); System.out.println("Object has been serialized"); } catch (IOException ex) { System.out.println("IOException is caught"); } Demo object1 = null; try { FileInputStream file = new FileInputStream(filename); ObjectInputStream in = new ObjectInputStream(file); object1 = (Demo) in.readObject(); in.close(); file.close(); System.out.println("Object has been deserialized "); System.out.println("a = " + object1.a); System.out.println("b = " + object1.b); } catch (IOException ex) { System.out.println("IOException is caught"); } catch (ClassNotFoundException ex) { System.out.println("ClassNotFoundException is caught"); } } }