Java Serialization | Serialization and Deserialization in Java — Java Technical Interview Questions & Answers
Java Serialization | Serialization and Deserialization in Java
Java Serialization | Serialization and Deserialization in Java
- Serialization is about reading or writing data outside the program — files, bytes, or characters. Byte streams (InputStream/OutputStream) handle raw bytes. Character streams (Reader/Writer) handle text.
- For Serialization, always close resources. Prefer try-with-resources so close happens even if an error occurs. Buffered streams are faster for many small reads.
- Serialization viva: serialization turns an object into bytes. transient fields are skipped. Don’t serialize secrets without a plan.
- Let's take this on the board with one tiny Main class — no extra files. Java Serialization | Serialization and Deserialization in Java — output: Hello File. StringReader → StringWriter is the same read/write pattern as a real file, and this Main always runs. Start from main, go line by line, and stop at each print. That output is the proof for Serialization.
Technical Interview Tip: Always mention closing resources in I/O answers.
Code Examples for Java Serialization | Serialization and Deserialization in Java
Example
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
String text = "Hello File";
try (StringReader in = new StringReader(text);
StringWriter out = new StringWriter()) {
int ch;
while ((ch = in.read()) != -1) out.write(ch);
System.out.println(out.toString());
}
}
}Java Serialization | Serialization and Deserialization in Java — output: Hello File. StringReader → StringWriter is the same read/write pattern as a real file, and this Main always runs.
How to Explain Java Serialization | Serialization and Deserialization in Java to an Interviewer
What is Serialization?
Serialization — I/O = read/write outside the program (file, bytes, text). Serialization — byte streams for bytes, Reader/Writer for text, close with try-with-resources. Serialization — buffered streams are faster for many small reads.
Why do we use Serialization in Java?
Makes the program clearer or safer Serialization — I/O = read/write outside the program (file, bytes, text).
Write one small example of Serialization.
Show syntax Say what prints
What mistake do beginners make with Serialization?
Only the name, no example Serialization — forgetting to close, or serializing secrets.
Where is Serialization used in a real program?
Day-to-day Java code