Answer Posted / jagan kumar(zylog systems ltd.
Transient
.........
Only variable can be declared as Transient, When
used as a Modifier in a variable Declaration it suggests
that a variable may not be return out when the class is
serialized
Volatile
.........
The keyword volatile can be used to declare
variables. The use of the keyword volatile in a variable
declaration suggests the compiler that multiple threads may
access the variable. Therefore the value of the variable
may change unexpectedly. A Compile time error will occur
declaring a variable both volatile and final.
Example for Volatile:
.....................
volatile int v = 0;
Thread 1:
v++;
Thread 2:
v--;
The questioners usually want the answer "v can only
be 0 after this code is run", because
volatile int v = 0;
Thread 1:
r1 = v;
r2 = r1 + 1;
v = r2;
Thread 2:
r3 = v;
r4 = r3 - 1;
v = r4;
So, if Threads 1 and 2 both read v and see the value
0, then Thread 1 will write 1 to it and Thread 2 will
write -1 to it. You are not guaranteed to see the value 0!
| Is This Answer Correct ? | 16 Yes | 4 No |
Post New Answer View All Answers
Can you sort a list in java?
What is double word?
What is null in java?
Is java call by reference?
What is class forname used for?
What is continuity of a function?
Why is inheritance used in java?
What is singleton math?
What is the purpose of a parameter?
What are keywords in java?
Which is better stringbuilder or stringbuffer?
What is an empty class? What functionality does it offer in Java?
Can we use synchronized block for primitives?
Is java a compiler?
What is the difference between stringbuffer and stringbuilder?