What is transient variable in Java? Serialization Example

What is a transient variable in Java?
transient variable in Java is a variable whose value is not serialized during Serialization and which is initialized by its default value during deserialization, for example for object transient variable it would be null. This behavior can be customized by using a custom Serialized form or by using the Externalizable interface. A transient variable is used to prevent any object from being serialized and you can make any variable transient by using the transient keyword. You cannot make a local variable transient through and it's only the member variables which can be transient. 

What is default Serialization in Java? Serializable and Externalizable Interface Explanation

What is Serialization in Java
Serialization in Java is a process to persist any Java Object's state into a File System or convert them into a byte stream to transfer over the network to another JVM or program. Serialization in Java is done by JVM by employing the default Serialization process which persists all of the Object's state except the transient variable and a static variable. How Serialization works in Java is another popular Java Serialization interview question, well It's easy to make any Java class Serializable, the class needs to implements java.io.Serializable interface, and JVM will automatically serialize its instance when passed over to java.io.ObjectOutputStream using writeObject()

Difference between transient vs volatile variable or modifier in Java

transient vs volatile modifier in Java
What is the difference between transient and volatile variables or modifiers in Java is one of the most common Serialization Interview Questions in Java. Though volatile variables are not related to Serialization at all, this question is mostly asked in conjunction with other Serialization questions. Both transient and volatile modifiers are completely different from each other. In fact, this question is as popular as Serializable vs Externalizable in Java. The main difference between transient vs volatile variables is that transient variables are not serialized during the Serialization process in Java while volatile variables are used to provide alternative synchronization in Java.