How does serialization work
Answers were Sorted based on User's Feedback
Serialization is a marker interface to tell the jvm that
the class extending Serializable interface wants to persist
or write its state over the output stream. All the
variables other than transient type can only be persisted.
| Is This Answer Correct ? | 9 Yes | 0 No |
The class whose instances are to be serialized
should implement an interface Serializable. Then pass the
instances to the ObjectOutputStream which is connected to a
FileOutputStream. This will save the object to a file...
When an object ios serialized, all the included
objects are also serialized along with the original object.
| Is This Answer Correct ? | 4 Yes | 2 No |
serializtion just to serialize a obect of a particular
class mean to say that
its just to save the state of object of particular clas
how imagine
SERIALIZATION:
a class Xyz
this class implements the Serializable interface
then you provide some state to create its object
and want that its state will remain safe
so what you should to do
you are using a
"FileOutputstream" to create a
than a "ObjectOutputStream" And then use writeObject() mehod
to write it in file
FileOutputStream f1 = new FileOutputStream("f1.txt");
ObjectOutputStream o1 = new ObjectOutStream(f1);
o1.writeObject(refreance variable of particular class)
then what happen the state of the particular object or
means some value which you gave its instance variable
or whole object will convert in a byte and store in file
.its a serializtion
DESERIALIZATION:
so the constructor first time will execute during the
creation time.
but when you desrialize constructor will not execute
because of the serializable interface so
when you want to read the state or any value which you gave
at the time of the serializtion will comeup as it is
FileInputStream f2 = new FileInputStream("f1.txt");
ObjectInputStream f3 = new ObjectInputStream(f2);
f3.readObject();//return type object type so cast it
and youwill get the same state of object which you will
make at the time of searlization.
"so the searliztion is just to saving the object in a form
of byte in a storage medium or write it in file using the
i/o
and then deserialize is convert the byte in to a particular
object with the same state when the object created"
i want to see you some code :
class Amit implements Serializable
{
String name;
int age;
Amit(Strin name,int age)
{
this.name = name;
this.age = age;
}
public Strin toString()
{
return "name =" + name +";+ age =" + age;
}
}
class Xyz
{
publc static void main(string []args)
{
Amit a = new Amit("amit",26);
//serialization
try{
FileOutputStram f1 = new FileOutputream("file.txt");
ObjectOutputStream o1 = new ObjectOutputStream(f1);
o1.writeObject(a);
o1.close();
}
catch(Excetion e)
{
}
//desrialization
try{
FileInputStream f2 = new FileInputStream("file.txt");
ObjectInputStream o2 = new ObjectInputStream(f2);
Amit a1 = o2.writeObject(a);
System.out.println("value" + a1);
System.out.println("value" + a1.toString());
}
catch(Exception e)
{
}
}
thanks Amit singh
amitsin2008@gmail.com amit09mca
}
//sorry :-import the io package too
| Is This Answer Correct ? | 1 Yes | 2 No |
What is linked hashmap and its features?
How to access a variable if it is declared as private?
Have you worked on bits programming? examples?What is bit? How many bits are there in the byte?
What is the purpose of main function in java?
Is singleton class thread safe?
Is string thread safe in java?
hi to all,i have a question on static block. i saved below as test.java class test extends a { static { System.out.println("test static"); } public static void main(String []dfs) { } } class a { static { System.out.println("a static"); } public static void main(String []asdf) { } } o/p as static test static but if i change base class as test class then class test { static { System.out.println("test static"); } public static void main(String []dfs) { } } class a extends test { static { System.out.println("a static"); } public static void main(String []asdf) { } } o/p test static explain me why "a static" wasn't print in second code when it is in derived class
How do you know if a value is nan?
Can I uninstall java?
where to use join method and explain with real time senario?and programatical explenation also..
In how many ways we can create threads in java?
what is java