Serialization in Java is the process of converting an object into a byte stream so that it can be stored in a file, sent over a network, or saved in a database.
👉 When we use file handling, serialization helps us persist object data into a file and later retrieve it.
🔹 Why Serialization is Used?
In real-world applications, we often need to:
Save object data permanently
Transfer objects between systems
Cache objects for faster access
Serialization makes all of this possible.
🔹 How Serialization Works
Java provides built-in support using:
Serializable(marker interface)ObjectOutputStream→ to write object to fileObjectInputStream→ to read object from file
🔹 Step 1: Make Class Serializable
import java.io.Serializable;
class Student implements Serializable {
int id;
String name;
Student(int id, String name) {
this.id = id;
this.name = name;
}
}
👉 Serializable is a marker interface (no methods)
🔹 Step 2: Serialize Object (Write to File)
import java.io.*;
public class SerializeDemo {
public static void main(String[] args) throws Exception {
Student s = new Student(101, "John");
FileOutputStream fos = new FileOutputStream("student.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(s);
oos.close();
fos.close();
System.out.println("Object Serialized");
}
}
🔹 Step 3: Deserialize Object (Read from File)
import java.io.*;
public class DeserializeDemo {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("student.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
Student s = (Student) ois.readObject();
ois.close();
fis.close();
System.out.println(s.id + " " + s.name);
}
}
🔹 Key Points to Remember
✔ Object is converted into byte stream
✔ Stored in file (like .ser file)
✔ Must implement Serializable
✔ Used with file handling streams
🔹 Important Concepts
🔸 transient Keyword
Prevents a variable from being serialized
transient int password;
🔸 serialVersionUID
Used to maintain version control during serialization
private static final long serialVersionUID = 1L;
🔹 Real-Time Use Cases
Saving user session data
Storing objects in files
Sending objects over network (RMI, APIs)
Caching data in applications
🔹 Serialization vs File Handling
🚀 Final Thoughts
Serialization is a powerful feature that combines object-oriented programming with file handling, allowing you to store and retrieve complete objects easily.
If you want to master Core Java concepts like Serialization with real-time projects, check out:
👉 No 1 Core JAVA Online Training in Hyderabad


No comments:
Post a Comment